1.DI 依赖注入
在Spring框架中,两个组件对象之间具有依赖关系(使用和被使用),依赖注入技术就是将被使用者对象给使用者对象传进去.
*1)setter方式注入(推荐)
a.在使用者中,定义"接口类型"的变量和setter方法
b.在spring容器配置中,添加<:property name="属性" ref="要注入的对象名">
2)构造方式注入
a.在使用者中,定义"接口类型"的变量和带参数的构造方法
b.在spring容器配置中,添加
*2.IOC
IOC Inversion Of Controll 反向控制,控制转移
在Spring中利用DI技术,实现了IOC机制,将两个组件解耦.
控制权:可以指定调用关系,可以创建对象,可以管理和释放对象.
一般编程,使用者具有控制权,可以指定调用哪个组件,负责创建对象这些工作;但是基于Spring框架之后,使用者控制权转移到了Spring容器,由Spring容器负责这些工作.
采用了IOC之后,如果底层组件(DAO)发生替换,只要修改Spring容器的配置,不需要修改上层组件(Action),将组件进行了解耦,增强了程序结构的灵活性.
3.各种类型值注入的格式
1)基本类型值的注入格式
*2)Bean对象的注入格式
3)集合类型值的注入格式
List,Set,Map,Properties类型注入格式
4.组件自动扫描
从spring2.5开始支持,因为2.5开始基于jdk5.0,从jdk5.0开始有了注解技术.
利用该技术,可以将指定package下的组件,自动扫描纳入到spring容器中.避免在xml中编写大量
使用方法如下:
1)在spring的xml配置中,引入context命名空间
2)利用
3)如果发现包中的类,类定义前面有以下注解,将纳入spring容器,id名默认采用类名(首字母小写).
@Controller :扫描控制层组件的注解标记,例如Action
@Service :扫描业务层组件的注解标记,例如Service
@Repository :扫描数据访问层组件的注解标记,例如DAO
@Component :其他组件
如果需要自定义id名,可以采用@Controller("id自定义名")
4)属性注入注解
在变量定义前,使用@Resource注解标记,spring默认会采用类型匹配原则将符合的bean对象注入进来.如果按指定id名注入bean对象,可以使用
@Resource(name="bean对象的id名").
注入还可以使用@Autowired,如果需要注入指定名的bean对象.
@Autowired
@Qualifier("hibernateUserDAO")
注意:setter方法可以不写,将来spring自动生成.2015年全国职称计算机考试教材(2007模 .. 定价:¥225 优惠价:¥213 更多书籍 | |
全国职称计算机考试速成过关系列套装:W .. 定价:¥133 优惠价:¥133.0 更多书籍 |