springApplicationContext

springApplicationContext

Spring中有什么方法可以专门加载bean。

我有一个包含很多bean的appContext文件。
使用以下代码加载它时,它将再次加载所有bean。

BeanFactory factory = new ClassPathXmlApplicationContext("appContext.xml");

最佳答案

那使用ApplicationContextAware呢?

Bean映射
<bean id="springApplicationContext" class="SpringApplicationContext"/>
Java实现

public class SpringApplicationContext implements ApplicationContextAware {

    private static ApplicationContext CONTEXT;

    public void setApplicationContext(ApplicationContext ctx) throws BeansException {
        CONTEXT = ctx;
    }

    public static Object getBean(String name) {
        return CONTEXT.getBean(name);
    }
}

然后像这样使用它;
SpringApplicationContext.getBean("myBean");

10-07 14:27