在Spring中同时使用XML和注解方式
1 同时使用注解与XML两种方式配置bean
有一个情况,在项目的代码中大量使用了注解的方式来创建 bean。可又想同时使用xml配置方式,毕竟修改xml文件是不需要重新编译项目。是按照先后顺序来确定自动创建哪一个对象的。如果先在 xml 中定义了,那后面的自动注解方式创建的对象就忽略。例如如下方式:
<bean id="xxxService" class="com.foo.Service.XxxService" />
<context:component-scan base-package="com.foo" />
如上所述,虽然在 XxxService 类上添加了创建对象的注解,但会优先采用 xml 中定义的 bean 对象。
2 注解
spring 高版本(例如 3.0 版本)就支持注解的方式,在 spring 配置文件中定义了组件扫描代码即可。同时还可以指定具体扫描哪些相关类。
<context:component-scan base-package="com.foo" use-default-filters="false">
<context:include-filter type="regex" expression="com.foo.bar.*Config"/>
<context:include-filter type="regex" expression="com.foo.config.*"/>
</context:component-scan>
3 xml 配置方式
基本的方式,例如:<bean id="billingService" class="com.company.spring.BillingService">
4 参考资料
4.1 spring 注解机制和XML配置机制之间的比较对比了两种方式的实现情况及优缺点关系(配置信息不会在部署时发生调整,那么注释配置优于XML配置;反之如果这种依赖关系会在部署时发生调整,XML 配置显然又优于注释配置,因为注释是对 Java源代码的调整,您需要重新改写源代码并重新编译才可以实施调整。
)
4.2 Spring的注解配置与XML配置之间的比较
详细分析了在什么情况下,使用什么配置方式是好的选择
4.3 Spring中XML配置文件的十二个最佳方法
介绍了关于书写 bean xml 中所需要注意的事项
4.4 <context:component-scan>使用说明
详细介绍了注解的关键字及排除不相关类的方式
4.5 spring组件扫描<context:component-scan/>使用详解
详细的配置参数说明