Spring入门案例
Spring spring是什么 spring的狭义与广义 spring的两个核心模块
Spring framework特点 spring入门案例
容器:IoC
Spring
spring是什么
spring是一款主流的Java EE轻量级开源框架
spring的狭义与广义
广义上的spring泛指以Spring Framework为核心的Spring技术栈 狭义上的spring特指Spring Framework,通常我们将它称为Spring框架
spring的两个核心模块
IoC
Inverse of Control,的简写,译为“控制反转”,指把创建对象过程交给Spring进行管理
AOP
Aspect Oriented Programming的简写,译为“面向切面编程”。AOP用来封装多个类的公共行为,将那些与业务无关,却为业务模块所共同调用的逻辑封装起来,减少系统的重复代码,降低模块间的耦合度,另外,AOP还解决一些系统层面上的问题,比如日志、事务、权限等
Spring framework特点
spring入门案例
引入spring相关依赖
< dependencies>
< dependency>
< groupId> org.springframework</ groupId>
< artifactId> spring-context</ artifactId>
< version> 6.1.14</ version>
</ dependency>
< dependency>
< groupId> org.junit.jupiter</ groupId>
< artifactId> junit-jupiter-api</ artifactId>
< version> 5.6.3</ version>
</ dependency>
</ dependency>
</ dependencies>
创建类、定义属性和方法
public class User {
public void add ( ) {
System . out. println ( "add....." ) ;
}
}
按照spring要求创建配置文件(xml格式) 注意:这里的class中是你的文件路径,由于波煮是跟着B站尚硅谷学的,所以这里就是com.atguigu.spring6
< bean id = " user" class = " com.atguigu.spring6.User" />
在spring配置文件配置相关信息 进行最终测试
不用new方法,如何使用返回创建的对象
加载bean.xml配置文件 对xml文件进行解析操作 获取xml文件beam标签属性值(ID属性值和class属性值) 使用反射根据类全路径创建对象
import org. junit. jupiter. api. Test ;
import org. springframework. context. ApplicationContext ;
import org. springframework. context. support. ClassPathXmlApplicationContext ;
public class TestUser {
@Test
public void testUserObject ( ) {
ApplicationContext context = new ClassPathXmlApplicationContext ( "bean.xml" ) ;
User user = ( User ) context. getBean ( "user" ) ;
System . out. println ( "1:" + user) ;
System . out. print ( "2:" ) ;
user. add ( ) ;
}
}
容器:IoC
Spring通过IoC容器来管理所有Java对象的实例化和初始化,控制对象与对象之间的依赖关系 我们将由IoC容器管理的Java对象称为Spring Bean,它与使用关键字new创建的Java对象没有任何区别 容器放bean对象,使用map集合
控制反转
控制反转是一种思想 控制反转是为了降低程序耦合度,提高程序扩展力 控制反转,反转的是什么?
将对象的创建权利交出去,交给第三方容器负责 将对象和对象之间关系的维护权交出去,交给第三方容器负责 控制反转这种思想如何实现呢?
DI(dependency injection):依赖注入
依赖注入
DI(Dependency injection):依赖注入,依赖注入实现了控制反转的思想 定义:指Spring创建对象的过程中,将对象依赖属性通过配置进行注入 依赖注入常见的实现方式包括两种:
结论:IOC是一种控制反转的思想,而DI是对IOC的一种具体实现 Bean管理说的是:Bean对象的创建,以及Bean对象中属性的赋值(或者叫做Bean对象之间关系的维护)