说来也怪,我使用相同的程序代码来做应用,因为基本模板已经定义,所以所有的工作几乎就是COPY和PASTE,但是就是这样做,也发现了一个Spring的一个漏洞。如下解说:
原来的注入XML
----------------------------------------------------------------------
..................................
<bean id="mssqltransactionManager" class="org.springframework.orm.hibernate.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean id="mssqlObjectDao" class="com.throuhout.j2eemodel.spring.service.dao.hibernate.MssqlHibernateDao">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<!-- Service -->
<!-- mssqlObjManager -->
<bean id="mssqlObjectManagerTarget" class="com.throuhout.j2eemodel.spring.service.MssqlManagerImpl">
<property name="mssqlObjectDao">
<ref local="mssqlObjectDao" />
</property>
</bean>
<bean id="mssqlObjectManager" lazy-init="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="mssqltransactionManager" />
</property>
<property name="target">
<ref local="mssqlObjectManagerTarget" />
</property>
<property name="proxyTargetClass">
<value>true</value>
</property>
<property name="transactionAttributes">
<props>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="find*">PROPAGATION_REQUIRED</prop>
<prop key="remove*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
</beans>
------------------------------------------------------------------
JAVA文件。
------------------------------------------------------------------
public void setMssqlObjectDao(IMssqlObjectDao mssqlObjectDao) {
dao = mssqlObjectDao;
}
------------------------------------------------------------------
以上的不能够成功运行,在依赖注入生成BEAN时发生错误,为什么呀?
就是这个关键字mssqlObjectDao、mssqlObjectManager、mssqlObjectManagerTarget的错误,因为你的Dao前面的字符有大小写的缘故,就测试不能够通过。
呵呵,不瞞大家说,我在JAVAEYE上提出这个问题,还被ROBBIN删除了,自力更生,呀呀,终于达到解决。
如下是正确的代码。
--------------------------------------------------------------------
<bean id="mysqltransactionManager" class="org.springframework.orm.hibernate.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="mysqlSessionFactory" />
</property>
</bean>
<bean id="mssqltransactionManager" class="org.springframework.orm.hibernate.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="mssqlSessionFactory" />
</property>
</bean>
<bean id="userDao" class="com.throuhout.j2eemodel.spring.service.dao.hibernate.UserHibernateDao">
<property name="sessionFactory">
<ref local="mysqlSessionFactory" />
</property>
</bean>
<bean id="mssqlDao" class="com.throuhout.j2eemodel.spring.service.dao.hibernate.MssqlHibernateDao">
<property name="sessionFactory">
<ref local="mssqlSessionFactory" />
</property>
</bean>
<!-- Service -->
<!-- userManager -->
<bean id="userManagerTarget" class="com.throuhout.j2eemodel.spring.service.UserManagerImpl">
<property name="userDao">
<ref local="userDao" />
</property>
</bean>
<bean id="userManager" lazy-init="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="mysqltransactionManager" />
</property>
<property name="target">
<ref local="userManagerTarget" />
</property>
<property name="proxyTargetClass">
<value>true</value>
</property>
<property name="transactionAttributes">
<props>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="find*">PROPAGATION_REQUIRED</prop>
<prop key="remove*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
<!-- mssqlObjManager -->
<bean id="mssqlManagerTarget" class="com.throuhout.j2eemodel.spring.service.MssqlManagerImpl">
<property name="mssqlDao">
<ref local="mssqlDao" />
</property>
</bean>
<bean id="mssqlManager" lazy-init="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="mssqltransactionManager" />
</property>
<property name="target">
<ref local="mssqlManagerTarget" />
</property>
<property name="proxyTargetClass">
<value>true</value>
</property>
<property name="transactionAttributes">
<props>
<prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
-------------------------------------------------------------------
public void setMssqlDao(IMssqlObjectDao mssqlDao) {
dao = mssqlDao;
}
-----------------------------------------------------------------
欢迎大家互相交流,互相学习。
分享到:
相关推荐
小学政治:相信科学不迷信(教学方案).pdf
对自由贸易的迷信.doc
我打破了迷信作文.doc
初中语文文摘社会请君入瓮除迷信
青少年应警惕网络迷信.docx
炼金术士:迷信的化学研究者
《公主的迷信》歌词信.docx
初中语文文摘生活我们为何迷信保质期
小学政治相信科学不迷信教学设计.docx
弘扬科学精神反对封建迷信学习教案.ppt
初中语文语文百科科技血型的科学与迷信
切莫迷信测试软件一颗让老鸟抓狂的神秘处理器.pdf
不要迷信找最好的人,要找最合适的人-马云.JPG
在本文中,我以古德曼的迷信概念为基础,他将其应用于学校教育系统。 古德曼(Goodman)认为,我们继续相信该系统的价值,而没有明确的证据表明它正在起作用。 我用这个概念将论点应用于当前系统与父母打交道的方式...
六年级上册品德14崇尚科学破除迷信反对邪教∣泰山版.pptx
品德与社会六年级下冀教崇尚科学破除迷信PPT学习教案.pptx
ml_cheat_sheet, 关于常见机器学习算法的注释和迷信 监督学习迷信工作表这本笔记本包含了我关于几种常用的监督学习算法的笔记和信念。 我的梦想是,它将作为一个快速参考或者对学习机器学习 interviews/quizzes/etc....
通达信指标公式源码简单的K线组合照样挣钱 别迷信高成功率.doc
六年级上册品德114崇尚科学破除迷信反对邪教∣泰山版共28张PPT.pptx