service层注入service和注入dao的区别
展开全部
如上图所示;
1.在productService 中注入productDao时,进入一次AOP,相当于进入一次数据库(发起sql命令begin transaction 开启事务),调用保存方法时再发生一次commit命令, 当保存方法抛异常时,触发spring进入aop,发送rollback命令道数据库回滚数据。
2.分步保存
2.1 在保存图片信息时注入service,则进入两次aop,分别是进入imgService,和imgDao,调用过程跟上述相同,
2.2 直接注入dao,则只进入一次aop.
就程序执行过程而言,进入一次或两次aop没太大关系,事务的嵌套也不影响。关键在于,做分布式缓存的时候,手动配置aop,如果节点设置到service层的话,缓存机制监控不到dao层,直接注入dao并调用其中的方法,会使得缓存机制获取不到数据的变化,从而使数据库和缓存数据不一致。
常规的方法是注入service,这样于业务流程也比较好理解
2016-10-25 · 知道合伙人软件行家
关注
展开全部
看到的ApplicationContext.xml文件的配置。看到的和以前看到的一个shoppingSystem的配置文件不太一样。看了半天,楞是没找到是如何为Action注入service的。先来看看以来是如何为action注入service的:
<bean id="account" class="action.Account">
<property name="cartService">
<ref bean="cartService">
</property>
</bean>
最后发现为action注入service是有两种方式的:
1)采用自动装配方式,也就是系统默认的,直接在struts.xml中配置:
<action name="***Action" class="***.****">
2)注入方式如第一处的配置
<bean id="account" class="action.Account">
<property name="cartService">
<ref bean="cartService">
</property>
</bean>
最后发现为action注入service是有两种方式的:
1)采用自动装配方式,也就是系统默认的,直接在struts.xml中配置:
<action name="***Action" class="***.****">
2)注入方式如第一处的配置
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询