1.spring
spring是J2EE应用程序框架,是轻量级的IoC和AOP的容器框架,主要是针对javaBean的生命周期进行管理的轻量级容器
2.主动查找和依赖注入
2.1主动查找:
new的方式由我们的应用程序负责服务(对象)定位查找。而且依赖都写在代码中,如果修改的话比较麻烦。
工厂:工厂配置好之后,还是我们要主动的实例化工厂,然后用工厂来拿要使用的类,还是主动查找。
<span style="font-family:FangSong_GB2312;font-size:18px;">public class UserService{
public void insert(User user){
UserDao userdao = new UserDaoMySqlImpl();
userdao.insert(user);
}
} </span>
2.2、IoC(控制反转):本来是由应用程序管理的对象之间的依赖关系,现在交给容器管理,这就是控制反转,及交给Ioc容器。Spring的IoC主要使用DI方式实现,不需要主动查找,对象的查找、定位和创建全部由容器管理。spring中有三种注入方式,一种是set注入,一种是接口注入,另一种是构造方法注入。
<span style="font-family:FangSong_GB2312;font-size:18px;">public class UserService{
private UserDao userdao; //通过注入的方式,直接使用UserDao,而不需要管理UserDao的创建。
public UserDao getUserdao() {
returnuserdao;
}
public void setUserdao(UserDao userdao) {
this.userdao= userdao;
}
publicvoid insert(User user){
userdao.insert(user);
}
</span>
3、IoC的好处:
大量减少了Factory和Singleton的数量,使代码层次更加清晰。
SpringIoC容器是轻量级的容器,没有侵入性,不需要依赖容器的API,也不需要实现一些特殊接口。
对于资源hibernate session 和JDBC Connection 我们不在负责开启和关闭。
面向接口编程,减少了代码中的耦合,将耦合推迟到了配置文件中,如果发生变化更容易控制。