Spring5
IOC:控制反转,把创建对象过程交给 Spring 进行管理
---->AOP:面向切面,不修改源代码进行功能增强
IOC
1.IOC代码实现,创建对象
---->创建普通类,在这个类创建普通方法
public class User {
public void add(){
System.out.println("add...");
}
}
---->创建 Spring 配置文件,在配置文件配置创建的对象;Spring 配置文件使用 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
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--配置 User 对象创建-->
<bean id="user" class="com.zxf.com.User"></bean>
</beans>
---->进行测试代码编写
@Test
public void testAdd() {
//1 加载 spring 配置文件
ApplicationContext context =
new ClassPathXmlApplicationContext("bean1.xml");
//2 获取配置创建的对象
User user = context.getBean("user", User.class);
System.out.println(user);
user.add();
}
测试方法中主要分两步:1.加载 spring 配置文件;2.获取配置创建的对象;创建之后就可以调用对象里的方法了。
2.IOC概念与原理
- 概念
---->控制反转,把对象创建和对象之间的调用过程,交给 Spring 进行管理
---->使用 IOC 目的:为了耦合度降低
- IOC 底层原理
涉及到:xml 解析、工厂模式、反射
- IOC 操作 Bean 管理
---->Spring 创建对象、Spirng 注入属性
---->基于 xml 配置文件方式实现、基于注解方式实现
XML配置文件实现
1、基于 xml 方式创建对象
<bean id="user" class="com.zxf.com.User"></bean>
(1)在 spring 配置文件中,使用 bean 标签,标签里面添加对应属性,就可以实现对象创建
(2)在 bean 标签有很多属性,介绍常用的属性
* id 属性:唯一标识
* class 属性:类全路径(包类路径)
(3)创建对象时候,默认也是执行无参数构造方法完成对象创建
2.基于 xml 方式注入属性
(1)DI:依赖注入,就是注入属性
3、第一种注入方式:使用 set 方法进行注入
(1)创建类,定义属性和对应的 set 方法
(2)在 spring 配置文件配置对象创建,配置属性注入
4、第二种注入方式:使用有参数构造进行注入
(1)创建类,定义属性,创建属性对应有参数构造方法
(2)在 spring 配置文件中进行配置
5、p 名称空间注入