怎么做网站注册登入页面,docker wordpress fpm,阿里巴巴网站的功能,莱州人才网浅谈Spring IOC和DI及Spring的工厂类 文章目录浅谈Spring IOC和DI及Spring的工厂类一. IOC1.什么是IOC2.为什么使用IOC传统开发模式的弊端3. 使用spring-IOC步骤二. DI1.什么是DI2.传统面向接口编程2.使用DI方式三. Spring的工厂类一. IOC
1.什么是IOC
IOC: Inversion of …浅谈Spring IOC和DI及Spring的工厂类 文章目录浅谈Spring IOC和DI及Spring的工厂类一. IOC1.什么是IOC2.为什么使用IOC传统开发模式的弊端3. 使用spring-IOC步骤二. DI1.什么是DI2.传统面向接口编程2.使用DI方式三. Spring的工厂类一. IOC
1.什么是IOC
IOC: Inversion of Control(控制反转)即把对象的创建权交给Spring管理。
2.为什么使用IOC
传统开发模式的弊端
1业务和实现类过于紧密耦合性太高底层业务要修改大量源代码 2通过工厂可以实现接口与实现业务的分离相对于1已经有了很大的改进 3在工厂内部使用配置文件加载相对于2又有了改进 我们的目标是:开发者不必再为单实例模式类、属性文件解析等这些很底层的需求编写代码可以更专注于上层的应用。
解决方法:可以通过Spring提供的IoC容器我们可以将对象之间的依赖关系交由Spring进行控制避免硬编码所造成的过度程序耦合。
3. 使用spring-IOC步骤
1添加jar包: 点击地址跳转spring相关jar包下载地址 2创建配置文件文件名称applicationContext.xml放在当前工程resource文件夹里
?xml version1.0 encodingUTF-8?
beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd/beans3在applicationContext.xml中添加要管理的类
!--id为自己起的名称 class:为实现接口类的全路径--!
bean iduserDao classcom.Springioc.Dao.Impl/4测试使用
public void save{//加载配置文件ApplicationContext applicationContextnew ClassPathXmlApplicationContextconfigLocation:applicationContext.xml//参数为配置文件当中bean的id UserDao userDaoUserDaoapplicationContext.getBeans:userDaouserDao.save}二. DI
1.什么是DI
DI即依赖注入是给spring管理类当中依赖的属性,通过配置文件进行赋值的过程。前提必须有IOC的环境Spring管理这个类的时候才能将类的依赖的属性值注入设置进来。
2.传统面向接口编程
UserDao daonew UserDaoMysqlImp1
dao.namemyxq使用面向接口编程没有办法设置属性值
2.使用DI方式
1实现类当中的属性要提供set方法
public class UserDaoMysqlImpl implements UserDao {public String name//依赖注入要提供set方法public void setNameString name{this.namename}Override public void save(){System.out.printlnmysql--saveSystem.out.printlnnamename
}
}2在配置文件当中配置依赖注入
xml version1.0encodingUTF-8
Kbeans xmlnshttp://www.springframework.org/schema/beans
xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance
xsi:schemaLocationhttp://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd--id为自己起的名称class为接口实现类的全路径一
bean iduserDao classcom.Springioc.dao.UserDaoMysqlImpl
property namename valuemyxq/
/bean〉
/beans〉3测试
public void save{//加载配置文件ApplicationContext applicationContextnew ClassPathXmlApplicationContextconfigLocation:applicationContext.xml//参数为配置文件当中bean的id UserDao userDaoUserDaoapplicationContext.getBeans:userDaouserDao.save
}三. Spring的工厂类
BeanFactory当调用getBean的时候才会创建实例对象ApplicationContext当加载配置文件时候就会创建实例对象ApplicationContext实现类 ClassPathXmlApplicationContext加载类路径下的配置文件常用 FileSystemXmlApplicationContext加载文件系统下的配置文件