标签:
IoC的本质是由Spring的容器(应用程序上下文,即:ApplicationContext)来存储和管理在业务中需要用到的对象。
管理本身由容器负责,容器还负责将指定的对象注入的相应的位置;但将对象放入容器和指出想要取出对象的工作需要人工处理。
将对象放入容器的工作一般分为三种:通过xml文件设置或通过xml+注解配置、通过纯配置文件+注解配置。
分析三种方式:
(1)xml文件配置的方式已经过时了,目前处在衰退期。
(2)主流的配置方式是基于注解的配置,相对xml文件的配置方式来说,效率高、简单和好理解。
(3)纯配置文件配置的方式仅是一种对未来应用模拟,纯配置文件配置的方式更多用来代替web.xml,applicationContext.xml中的核心配置方式。
IoC的基本工作原理
1)Spring的工厂代替原来所有的工厂,只有spring的工厂会生成对象了,而该工厂可以生产一切对象。
2)Spring的工厂根据ApplicationContext.xml中的定义进行生产。
3)利用DI技术将Spring工厂生产的对象,注入到需要的类中去,注入的方法是利用set方法(也可以是构造器注入或接口注入)。
4)利用ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");语句将要生产的对象提供给工厂。
5)利用context.getBean("...")语句从工厂获得其生产的产品。
以下对注解形式的IoC进行更详细的使用说明:(注解配置)
首先建一个实体类:
然后扫描具体的实体类包
测试:
如果想加另一个类的对象,新建一个实体类
@Result这个注解直接把UserDetail引进了
接下来介绍纯配置的方法:
新建User和UserDetail实体类,此时,实体类里不加任何注解
然后新建config中APPContext类(使用的是@Bean这个注解)
测试方法与之前一样。
比较这两种方法:
没有谁好谁坏之分。第一种方式应用于大量使用action、service等。第二种应用于核心配置文件中。这个两种方式还有有轻微的区别的。
标签:
原文地址:http://www.cnblogs.com/zmlion1995/p/5796879.html