spring依赖注入

来源:互联网 发布:三维软件solidworks 编辑:程序博客网 时间:2024/06/03 18:13

spring的依赖注入的实现涉及到bean、applicationContext.xml、web.xml,依赖注入说白了也就是一个工厂思维,顺带松耦合了,然后美其名曰“依赖注入”、“控制反转”。这个控制反转应该是称之为控制权的转移,由IOC容器来进行调度bean。
1. 在web.xml中添加如下代码

<context-param>      <param-name>contextConfigLocation</param-name>      <param-value>classpath:applicationContext.xml</param-value>    </context-param>
如果没有添加这一段,spring会默认直接去WEB-INF/classes中去找applicationContext.xml。

2. applicationContext.xml中是一堆注入好的bean,标签抬头就是<beans>。具体注入语法注入方式有好多种,详见http://blog.csdn.net/lishuangzhe7047/article/details/20740835

3.在项目中引用applicationContext.xml中已经注入好的bean,具体代码如下

BeanFactory factory = new ClassPathXmlApplicationContext("classpath:applicationContext.xml"); Pig pig=(Pig)factory.getBean("pig");

有的人用的是BeanFactory,有的人使用的是ApplicationContext ,ApplicationContext接口,它由BeanFactory接口派生而来,因而提供BeanFactory所有的功能。ApplicationContext以一种更向面向框架的方式工作以及对上下文进行分层和实现继承,ApplicationContext包还提供了以下的功能:
• MessageSource, 提供国际化的消息访问
• 资源访问,如URL和文件
• 事件传播
• 载入多个(有继承关系)上下文 ,使得每一个上下文都专注于一个特定的层次,比如应用的web层
详见:http://blog.csdn.net/hi_kevin/article/details/7325554

获取到对象以后就可以进行操作了。这种配置稍微复杂了点,不过配合配置文件,可以把一些在项目完成之后需要变更的东西放置到配置文件当中去,而不是去直接修改代码。

最后是关于spring项目的classpath的,这篇文章比较详细,直接引用了:http://www.blogjava.net/wangkai40/archive/2009/08/28/292927.html

0 0