spring和spring mvc配置文件注解扫描相关总结记录

1.:注解扫描是针对已经在Spring容器里注册过的Bean;

:不仅具备的所有功能,还可以在指定的package下面扫描对应的bean;

同时存在的时候,前者会被忽略;

即使注册Bean,同时开启扫描,@autowire,@resource等注入注解只会被注入一次,也即只加载一次;

2.只在applicationContext.xml中配置扫描注解路径,启动正常,但是任何请求都不会被拦截,简而言之就是@Controller失效;

只在spring-servlet.xml中配置扫描注解路径,启动正常,请求也正常,但是事务失效,也就是不能进行回滚;

在applicationContext.xml和spring-servlet.xml中都配置,启动正常,请求正常,也是事物失效,不能进行回滚;

在applicationContext.xml中配置排除@Controller以外的,在spring-servlet.xml中配置只扫描@Controller的,启动正常,请求正常,事务也正常;

至于为何两边都配置会失效呢,是因为spring扫描了service接口以及实现,但是springmvc扫描又把service接口和实现扫描了一遍,导致了springmvc接管了service接口以及实现,所以在spring xml文件配置中需要注意扫描的范围;



以上引用来自作者:smileNicky,链接:https://www.jianshu.com/p/cd0091aacf89;链接:https://www.cnblogs.com/liran123/p/9214631.html;链接:https://blog.csdn.net/iteye_870/article/details/82652071;

你可能感兴趣的:(spring和spring mvc配置文件注解扫描相关总结记录)