文章目录
什么是Spring?
1.spring是一个开源的轻量级框架
2.spring核心主要两部分:
(1)AOP:面向切面编程,扩展功能不是修改源代码实现
(2)IOC:控制反转,
之前:比如有一个类,在类里面有方法(不是静态的方法),调用类的方法,创建类的对象,使用对象调用方法,创建类对象的过程,需要 new 出来对象
之后:把对象的创建过程不是通过 new 方式实现,而是交给 spring 配置创建类
3.spring是一个一站式框架
(1) spring 在javaee 三层结构中,每一层都提供了不同的解决技术
web 层:springMVC
service 层:spring 的 ioc
dao 层:spring 的JDBCTemplate
Spring的IOC操作
1.把对象的创建交给 spring 进行管理
2. IOC 操作两部分
(1) ioc 的配置文件方式
(2) ioc 的注解方式
IOC 底层原理
1.ioc 底层原理使用技术
(1) xml 配置文件
(2) dom4j 解决 xml
(3) 工厂设计模式
(4) 反射
public class User {
public void add() {
.......
}
}
//在 servlet 调用 User 类里面的方法
//调用类里面的方法;
User user = new User();
user.add();
//如果类名发生变化,类里面也发生变化,那么 servlet 里面的代码也需要改变
//缺陷:耦合度太高
//使用工厂模式解耦合操作
public class UserService {
public void add() {
.......
}
}
public class UserServlet {
UserService s = Factory.getService();
s.add();
}
//解决方案,创建工厂类
public class Factory {
//提供返回UserService对象的方法
public static UserService getService() {
return new UserService;
}
}
//缺陷: servlet 和 工厂类又有耦合
IOC原理:
IOC 使用步骤:
第一步:在pom.xml导入依赖
<!-- Spring 需要的依赖 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.3.RELEASE</version>
</dependency>
第二步:创建类,在类里面创建方法
package ioc;
//原始做法
public class User {
public void add() {
System.out.println("add....");
}
public static void main(String[] args) {
User user = new User();
user.add();
}
}
第三步:创建 spring 配置文件,配置创建类
(1)创建核心配置文件
(2)引入schema约束
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
</beans>
</