Spring框架
1.介绍
- Spring是分层的轻量级开源框架
- Spring核心是IOC(控制反转)和AOP(面向切面编程)
- Spring提供了对各种优秀框架的支持和整合
- Spring框架采用分层架构,根据不同的功能被划分成多个模块,结构清晰
2.Spring优点
- IOC解耦:可以将对象间的依赖关系交由spring管理,避免硬编码造成的程序间过渡耦合
- 支持AOP:可以使用切面编程思想对方法进行增强
- 支持声明试事务:可以通过配置或着注解的方式管理事务,不需要硬编码管理事务
3.IOC的作用
利用IOC的工厂模式解耦创建对象,解决代码耦合度过高的问题,可以将创建好的对象存储起来重复使用,解决对象个数问题,可以将依赖对象注入需要的对象当中,解决依赖关系问题,可以根据依赖关系先后创建对象,解决创造顺序问题
4.IOC入门案例
1.创建工程:spring_day01_01
2.添加依赖:pom.xml
<!-- IOC依赖 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.2.RELEASE</version>
</dependency>
3.创建实体类:User
import java.util.Date;
/**
* 用户实体类.
*/
public class User {
private Integer id;
private String username;
private Date birthday;
private String sex;
private String address;
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", birthday=" + birthday +
", sex='" + sex + '\'' +
", address='" + address + '\'' +
'}';
}
}
4.创建User对象
4.1:创建Spring核心配置文件:applicationContext.xml
4.2:使用Bean标签创建User对象
<?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">
<!-- 创建对象, 还需要加入到IOC容器中 -->
<!--
bean: 创建对象并且加入到IOC容器中
id: 可选项: 对象名称
class: 必选项: 对象的字节码路径
-->
<bean id="user" class="com.pkx.ioc.User"></bean>
</beans>
5.创建IOC容器
5.1:创建测试类:IocTests
5.2:创建IOC容器并从容器中获取User对象
/**
* 创建IOC容器并从容器获取User对象
*/
public class IocTests {
public static void main(String[] args) {
// 1. 创建容器
ClassPathXmlApplicationContext ioc =
new ClassPathXmlApplicationContext("beans.xml");
// 2. 使用对象
Object user = ioc.getBean("user");
System.out.println(user);// null?没有创建:已经创建
}
}
6:小结
6.1:使用IOC容器需要添加那些依赖:spring-context
6.2:在配置文件中使用什么标签定义对象:bean标签