Spring Container是如何创建的?

时间:2015-03-05 16:27:03

标签: java spring spring-mvc

我正在攻读Spring Core认证,我对此问题表示怀疑:

“容器”的含义是什么?如何创建?

我知道Spring容器是Spring Framework的核心。容器将创建对象,将它们连接在一起,配置它们,并管理从创建到销毁的整个生命周期。 Spring容器使用依赖注入(DI)来管理组成应用程序的组件。这些对象称为Spring Beans,我们将在下一章讨论。

我知道有2个容器:

  • Spring BeanFactory Container:这是最简单的容器,为DI提供基本支持,并由org.springframework.beans.factory.BeanFactory接口定义。 BeanFactory和相关的接口,例如BeanFactoryAware,InitializingBean,DisposableBean,仍然存在于Spring中,目的是向后兼容与Spring集成的大量第三方框架。

  • Spring ApplicationContext容器:此容器添加了更多特定于企业的功能,例如从属性文件解析文本消息的功能以及将应用程序事件发布到感兴趣的事件侦听器的功能。此容器由org.springframework.context.ApplicationContext接口定义。

好的......这对我来说非常清楚,但如何创建容器的正确答案是什么?

我认为它是Spring在读取配置类或XML配置文件时自动创建的。

不是吗?我错过了什么?

1 个答案:

答案 0 :(得分:5)

简而言之," The Container"是一个负责管理bean生命周期的Spring实例。

要创建一个,基本上,你应该做一些像

ApplicationContext applicationContext = new ClassPathXmlApplicationContext("/application-context.xml");

请记住用您定义自己的Spring bean的文件替换/application-context.xml。

查看http://www.springbyexample.org/examples/intro-to-ioc-creating-a-spring-application.html

您也可以用配置类替换xml。在这种情况下你应该有这样的东西:

@Configuration
public class Myconfig{

   @Bean 
   public MyBean myBean(){
      return new MyBean();
   }
}

为此,请查看http://www.tutorialspoint.com/spring/spring_java_based_configuration.htm