1.简单来说,原来我new一个对象,必须要有这个类(否则编译器都会出错),现在也需要,但是我只需要查询你的名字存不存在在创建对象和初始化。
控制反转(IOC:Inversion of Control):将对象的控制权由硬编码的程序转交给Spring容器
解释:- 传统的JavaSE程序通过new关键字进行创建对象,对象的控制权在硬编码的Java程序。实现了IOC设计的Spring程序,对象的控制权在Spring容器。(这里把控制权交出去了,交给spring容器管理)
1.(1)基于XML的配置,编写配置文件(spring核心配置文件)第二种是注解配置文件
在resources目录下新建xml文件,叫什么名字无所谓,防止编码问题不要带中文字符,一般叫做applicationContext.xml,嫌太长可以改下,后面在特定环境下也可以通过配置来修改默认值,在这里我们就是用来配置bean的,可以直接就取名为bean.xml,这里我取名applicationContext.xml,表示这个应用上下文的主配置文件。
代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- 个 不用看 个-->
<bean id="userService" class="com.bookmanagesystem.service.impl.UserServiceImpl">
</bean>
<bean id="userDao" class="com.bookmanagesystem.dao.impl.UserDaoImpl">
</bean>
</beans>
2.main方法当中的反射应用
IUserDao dao = context.getBean("userDao", IUserDao.class);