Spring Bean自动装配

时间:2014-08-22 06:08:38

标签: spring autowired

在Spring中,可以将在应用程序上下文中创建的bean自动装配到在根上下文中创建的bean。在过去的几个小时里,我一直试图这样做,但似乎没有用。有办法吗?

2 个答案:

答案 0 :(得分:1)

根上下文(父)不能"看"来自孩子们的豆子。孩子们可以看到""来自父母的豆子。 为了支持这个陈述,可以设置为" parent"在创建另一个ApplicationContextApplicationContext:多种类型的上下文具有构造函数,其中一个参数是另一个上下文。这意味着新创建的上下文知道谁是其父级,但父级不知道谁是其子级。这是ApplicationContext的设计决定。

答案 1 :(得分:0)

添加如下所示的课程:

package your.package;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;


public class YourApplicationContext {
    private static ApplicationContext instance;

    public static ApplicationContext getInstance() {
        try {
        if(instance == null){
            synchronized ( YourApplicationContext.class ){
                if(instance == null){
                    instance = new ClassPathXmlApplicationContext("applicationContext.xml");
                }
            }
        }

        return instance;
        } catch (Exception e) {
            System.out.println(e);
            return null;
        }
    }
}

还要在下面的资源文件夹中添加applicationContext.xml:

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-3.0.xsd">

    <context:annotation-config />

    <context:component-scan base-package="your.package" />

    <bean class="org.springframework.web.servlet.view.BeanNameViewResolver" />

</beans>

我添加了xml文件,就像使用的是Spring 3.0版本一样。