配置文件那些事儿

1.classpath与classpath*:如在配置文件中指定<value>classpath:mybatis/mapper/*.xml</value>,会将resource下的mybatis/mapper下的*.xml文件加载到环境中(严格按照路径执行)。如果指定的是classpath*,会遍历所有的classpath,将所有的mybatis/mapper下的*.xml加载到环境中,速度相对来说慢一些。

如果多个classpath下存在多个同名*.xml文件,那么classpath:只会加载第一个*.xml文件。如果要加载的资源,不在当前ClassLoader的路径里,那么用classpath:前缀是找不到的,这种情况下就需要使用classpath*:前缀

2.spring配置中context:annotation-config 与 context:component-scan 区别

1)context:annotation-config可以理解为注解解析器,解析诸如@autowired,@Resource之类的注解。前提是注解作用的类已经被注册到spring容器里。
2)context:component-scan除了包含context:annotation-config所有的功能之外还可以自动扫描和注册base-package下有诸如@component之类注解的类,并将其作为bean注册到spring容器里。
总结:有component-scan就不需要annotation-config了。

猜你喜欢

转载自blog.csdn.net/xuebaobao130526/article/details/81061997