问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

spring全注解的xml 文件该怎么写

发布网友 发布时间:2022-05-19 11:13

我来回答

1个回答

热心网友 时间:2023-11-02 05:19

<?xml version="1.0" encoding="UTF-8"?>
<!-- 声名式事务①:添加常用命名空间声明 -->
<beans
xmlns=" http://www.springframework.org/schema/beans"
xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance"

xmlns:aop=" http://www.springframework.org/schema/aop"
xmlns:tx=" http://www.springframework.org/schema/tx"

xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd

http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
<!-- 声名式事务①:添加常用命名空间声明 --><!-- ***********************配置DateSource和SessionFactory************************ --> <bean id="data"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.microsoft.sqlserver.jdbc.SQLServerDriver">
</property>
<property name="url"
value="jdbc:sqlserver://localhost:1433;databaseName=epet">
</property>
<property name="username" value="sa"></property>
<property name="password" value=""></property>
</bean>

<bean id="sf"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="data"></ref>
</property>
<property name="mappingResources">
<list>
<value>entity/PetInfo.hbm.xml</value>
<value>entity/PetDiary.hbm.xml</value>
<value>entity/PetType.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</prop>
<!-- 配置<cache usage="read-only"/>后,配置Hibernate缓存机制属性 -->
<prop key="hibernate.cache.provider_class">
org.hibernate.cache.HashtableCacheProvider
</prop>
</props>
</property>
</bean>

<!-- ***************************配置各层依赖注入关系******************************** -->

<!-- Dao层依赖于SessionFactory,SessionFactory注入Dao层 -->
<bean id="petInfoDao" class=".PetInfoDaoImpl" >
<property name="sessionFactory">
<ref bean="sf" />
</property>
</bean>
<bean id="petDiaryDao" class=".PetDiaryDaoImpl" >
<property name="sessionFactory">
<ref bean="sf" />
</property>
</bean>
<bean id="petTypeDao" class=".PetTypeDaoImpl" >
<property name="sessionFactory">
<ref bean="sf" />
</property>
</bean>
<!-- Dao层依赖于SessionFactory,SessionFactory注入Dao层 -->

<!-- Biz层依赖于Dao层,Dao层注入Biz层 -->
<bean id="petInfoBiz" class="biz.PetInfoBizImpl" >
<property name="petInfoDao">
<ref bean="petInfoDao" />
</property>
</bean>

<bean id="petDiaryBiz" class="biz.PetDiaryBizImpl">
<property name="petDiaryDao" ref="petDiaryDao" />
</bean>

<bean id="petTypeBiz" class="biz.PetTypeBizImpl">
<property name="petTypeDao" ref="petTypeDao" />
</bean>
<!-- Biz层依赖于Dao层,Dao层注入Biz层 -->

<!-- ③配置Action依赖于Biz层,Biz层注入Action -->
<bean name="/PetAction" class="web.action.PetAction">
<!-- Biz注入Action -->
<property name="petInfoBiz" ref="petInfoBiz" />
<property name="petDiaryBiz" ref="petDiaryBiz"></property>
<property name="petTypeBiz" ref="petTypeBiz"></property>
</bean>

<bean name="/DiaryAction" class="web.action.DiaryAction">
<property name="petDiaryBiz" ref="petDiaryBiz"></property>
<property name="petInfoBiz" ref="petInfoBiz"></property>
</bean>

<bean name="/DoLogAction" class="web.action.DoLogAction">
<property name="petInfoBiz" ref="petInfoBiz"></property>
</bean>

<bean name="/DoTrainingAction" class="web.action.DoTrainingAction">
<property name="petInfoBiz" ref="petInfoBiz"></property>
</bean>

<bean name="/IndexAction" class="web.action.IndexAction">
<property name="petInfoBiz" ref="petInfoBiz"></property>
<property name="petDiaryBiz" ref="petDiaryBiz"></property>
<property name="petTypeBiz" ref="petTypeBiz"></property>
</bean>
<!-- ③配置Action依赖于Biz层,Biz层注入Action -->

<!-- ****************************配置声明式事务************************************ --><!-- 声名式事务②:定义事务管理器 -->
<bean id="myHibTransactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sf" />
</bean><!-- 声名式事务③:定义事务通知,声明事务规则 -->
<tx:advice id="txAdvice" transaction-manager="myHibTransactionManager">
<tx:attributes>
<tx:method name="add*" propagation="REQUIRED" />
<tx:method name="del*" propagation="REQUIRED" />
<tx:method name="update*" propagation="REQUIRED" />
<tx:method name="do.*" propagation="REQUIRED" />
<tx:method name="*" propagation="SUPPORTS" read-only="true"/>
</tx:attributes>
</tx:advice><aop:config>
<!-- 声名式事务④:定义切面,指定哪些方法应用以上规则 -->
<aop:pointcut id="bizMethods" expression="execution(* biz.*.*(..))" />
<!-- 声名式事务⑤:将事务通知和切面组合 -->
<aop:advisor advice-ref="txAdvice" pointcut-ref="bizMethods" />
</aop:config><!-- ******************************配置AOP方面代码******************************** --><!-- AOP实现: ①定义原Bean(实现类)
<bean id="petInfoBizTarget" class="biz.PetInfoBizImpl">
<property name="petInfoDao" ref="petInfoDao"></property>
</bean>-->
<!-- AOP实现: ②定义通知 -->
<bean id="lotteryAdvice" class="aop.LotteryAdvice">
<property name="petInfoDao" ref="petInfoDao"></property>
</bean>
<bean id="diaryAdvice" class="aop.DiaryAdvice">
<property name="petInfoDao" ref="petInfoDao"></property>
</bean> <!-- AOP实现: ③定义代理类 -->
<bean id="petInfoBizProxy" class="org.springframework.aop.framework.ProxyFactoryBean">
<!-- 被代理的接口 -->
<property name="proxyInterfaces">
<list>
<value>biz.PetInfoBiz</value>
<value>biz.PetDiaryBiz</value>
</list>
</property>
<!-- 织入的通知列表 -->
<property name="interceptorNames">
<list>
<value>lotteryAdvice</value>
<value>diaryAdvice</value>
</list>
</property>
<!-- 被代理的原Bean -->
<property name="target">
<list>
<ref bean="petInfoBiz"/>
<ref bean="petDiaryBiz"/>
</list>
</property>
</bean></beans>
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
sometimesome timesometimessome times的区别 瓜地的午餐怎么造句 夏季宝宝不吃饭应该怎么办 狼人杀里面的白狼王模式怎么玩? 狼人杀白狼王和骑士:操作至上的高效玩法指南 狼人杀手游白狼王怎么玩 详细玩法攻略 狼人杀 狼人杀的白狼王怎么玩? 国产轮毂品牌有哪些 国产轮毂品牌哪个品牌好 国内轮毂有哪些品牌 岗位和职务怎么填 解释下面代码,要详尽说明和整体的功能 spring在service层吧方法加上@cacheable注解,为什么还是每次跑数据库 快手极速版通过朋友邀请已下载而且也看了视频也完善了个人信息为什么在桌面上找不到? java 多线程线程安全问题怎么解决 新生儿肠绞痛怎么办 宝宝肠绞痛厉害,怎么办呢? 新生儿会发生肠绞痛?怎么办? 新生儿肠绞痛,怎样就可以给宝宝进行缓解? 热汤面怎么做最好吃? 当你的好朋友对你讲“滚你的蛋”你会怎么办? 当一个男人说不管你是什么谁对我父母不好都给我滚蛋? 老公叫我滚,我滚出来了五天了他也没有联系,我该怎么办? 老公居然对我说滚蛋,和你没有共同语言,我怎么办 和老公吵架他就喊我滚我应该怎么办啊 老公经常叫我滚我该怎么办? 汶字的五行属什么 汶字起名什么意思? 汶字的解释 在保定!电动车电池丢了,换一套48V20AH或者48V12AH的大概多少钱?具体是什么牌子的?详细一点,追加悬赏 爱玛电动车电瓶t6的一只多少钱 java中的线程安全问题? 土豆拌饭怎么做,才能口感软糯又美味? 土豆拌饭的做法,土豆拌饭怎么做 秘制土豆拌饭怎么做 烧土豆拌饭怎么做好吃,烧土豆拌饭的家常做 土豆炒饭可以加些什么在里面 土豆泥拌饭的做法步骤图,土豆泥拌饭怎么做 酱香土豆泥拌饭 土豆拌饭有把土豆不炒熟就放在电饭锅的吗 酱汁浓郁的肉末土豆拌饭怎么做? 买车贷款挂靠公司必须要法人签字吗 公司名义买车法人必须去吗 有限公司买车入公司牌供车需要大股东签名吗 龙斗士龙皇亚克怎么觉醒到3阶 跪求龙族言灵序列表!!! 误删微信好友怎么找回来不记得电话号码和怎么找回? 松下sd2200连不上wifi 狮岛的SD2200智能火灾报警控制器(联动型)回路故障是怎么回事 谁有SD2200API PDF数据手册啊?发给我一份! 狮岛sd2200能兼容6880烟感吗