如何自动连接在Xml文件中配置的spring bean

时间:2017-01-14 20:20:54

标签: spring

如何使用在spring配置xml文件中配置的自动线注入bean

1 个答案:

答案 0 :(得分:1)

这是一个懒惰的问题,在xml中有大量的自动装配书籍和教程。 在Main类中,您必须使用BeanFactory / ApplicationContext。 ApplicationContext更好,因为它实现了BeanFactory,也适用于企业环境。 ApplicationContext所需的实现是ClassPathXmlApplicationContext,它接受一个字符串参数,该参数表示带有bean的xml的名称。如果你想在xml中使用自动装配非常简单: 自动装配="类型的的自动连接任您想" 我通常喜欢按名称自动装配,但我更喜欢使用注释。一个完整的例子是:

    public class Main{
        public static void main(String[] args){
            ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
            Person person = context.getBean("person");
            System.out.println("My name is " + person.getName());
            System.out.println("I'm " + person.getAge());

所以你必须将它放在beans.xml中:

    <bean id="person" class="com.mypackage.Person" autowire="byName">
    //optional     <property name="name" value="Fausto"/>
    //optional     <property name="age" value="23"/>
    </bean>

结果将是:

My name is Fausto
I'm 23

简单! 显然,自动装配有不同的实现: byType-byName-construcotr(是构造函数注入)-no(禁用)。 如果使用注释,则可以使用构造型注释(组件,控制器,存储库,服务)获得相同的结果。