Spring 注解与xml文件混合声明bean

页面导航:首页 > 软件编程 > Java编程 > Spring 注解与xml文件混合声明bean

Spring 注解与xml文件混合声明bean

来源: 作者: 时间:2016-01-18 15:52 【

在spring中,使用xml文件配置bean的方式比较繁琐,但是具有一定的灵活性,在不更改源代码的情况下就可以更改程序配置或者更改以来关系;使用注解配置的方式高效,但是失去了xml文件
 在spring中,使用xml文件配置bean的方式比较繁琐,但是具有一定的灵活性,在不更改源代码的情况下就可以更改程序配置或者更改以来关系;使用注解配置的方式高效,但是失去了xml文件的灵活性。
    在这种情况下,我们可以使用xml文件与注解混合使用的方式进行配置bean,在不需要更改属性上可以使用注解的方式进行配置,[email protected]@[email protected],否则在xml文件中声明同一个类的bean时,在spring容器中会出现多个类型相同的bean,在自动装配过程中可能会出错(因为有多个相同类型的bean)。在xml文件中声明这个类的bean,[email protected]
例如:
 
/**
* @ClassName: AbstractXmlGenerator
* @Description: XmlGenerator抽象类,内置一个XmlReader和PathManager
* @date 2015年12月12日 下午9:21:21
*
*/
public abstract class AbstractXmlGenerator implements Generator{
    @Resource
    private XmlReader reader;
    private String xmlFilePath;
    private String query;
    @Resource
    private PathManager pathManager;
    public XmlReader getReader() {
        return reader;
    }
    public void setReader(XmlReader reader) {
        this.reader = reader;
    }

 

 
在xml文件中配置:
 
<bean id="forcedSeedsGenerator" class="collector.generator.AbstractXmlGenerator ">
<property name="query" value="lagou keyword"></property>
<property name="xmlFilePath" value=""></property>
</bean>

 

 
 
@Resource
    private XmlReader reader;

 

 
上述的自动装配也会自动进行,即使在xml中对该属性没有显式的配置。    
    若某字段使用了自动装配,而且在xml文件中也对该字段的属性进行了设置,xml文件中声明的这个bean将以xml文件中的配置为主,也就是说xml配置文件覆盖了自动装配。
    当子类继承父类,父类中有自动装配的属性,而且父类并没有在Spring容器中,父类中的自动装配属性也是生效的。
Tags:

文章评论

最 近 更 新
热 点 排 行
Js与CSS工具
代码转换工具

<