(ioc控制反转是一种设计思想,即将原程序手工创建的对象的控制权交给IOC容器进行管理,Ioc容器将负责控制对象之间的依赖关系,可以大大简化应用的开发,将应用从复杂的依赖关系中解放出来。
IOC容器就像一个工厂。当我们需要创建一个对象时,我们只需要配置配置文件/注释,而不管对象是如何创建的。
IOC的实现原理是工厂模式反射机制)
豆制品厂
它是基本类型。
国际奥委会
容器
,
是一种管理。
豆
工厂,它主要负责初始化各种
豆
,并调用它们的生命周期方法。
应用程序上下文
是
豆制品厂
的子接口,也称为
应用程序上下文。它不仅提供了
豆制品厂
的所有功能,还增加了i18n
在(国际化)、资源访问、事件传播等方面的良好支持。
ApplicationContext接口具有两个常用的实现类3360。
ClassPathXmlApplicationContext(
从属类路径
类路径
在中查找指定的
可扩展标记语言
找到并加载了配置文件。
应用程序上下文
的实例化
)
文件系统XmlApplicationContext(
不是从类路径中读取配置文件,而是通过参数设置配置文件,可以获取类路径之外的资源,比如“D:https://www.zhucesz.com/”。
)
在豆子里,
使用静态方法调用用户创建工厂包。
先找到工厂类,再找到工厂类中的方法来创建对象。
方法来创建对象。
在https://www.zhucesz.com/创建一个实例工厂
https://www.zhucesz.com/指定工厂法
应该尽可能少地修改部分源代码。
dao,服务实例
写privite UserDao userDao在服务类;set方法;
在https://www.zhucesz.com/写作
在propertyname中,set方法名set后面的第一个字母是小写的,ref写当前关联的bean id名(Dao中的id名)
测试:
同上,将set方法改为construction方法。
在https://www.zhucesz.com/写作
构造函数中的名字写构造方法的参数名,ref写当前关联的bean id名(Dao中的id名)
假设一个案例:数据库需要更改。
如果修改数据库,只需要重写dao层
之前:在serviceImpl中不同的实现类。
Autowire在配置文件中设置,对引入的属性进行隐式自动注入。
ByName:通过名称(bean中的id名称和私有dao)自动注入
ByType:根据类型自动注入(可能不止一个)


在线咨询
188-2371-9231