一、Spring框架
1.1、Spring理解
Spring核心功能:IOC 与 AOP
IOC容器, 也叫做控制反转容器,用来管理对象的创建、处理对象的依赖关系。
DI: 依赖注入,主要负责处理对象的依赖关系。
User user = new User(); IOC 创建对象: <bean id="user" class=""></bean> user.setId(100); DI 依赖注入: 给对象属性赋值 <bean id="user" class=""> <property name="id" value="100"/> 依赖注入 </bean> UserService userService = new UserService(); IOC控制反转容器:创建对象 userService.setUserDao(userDao); DI依赖注入: 给对象属性赋值
1.2、Spring练习
第一步:依赖
<dependencies> <!--添加Spring依赖--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.2.12.RELEASE</version> </dependency> <!--junit单元测试--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> </dependencies>
第二步:对象准备
public class UserDao { public void save(){ System.out.println("save()"); } } public class UserService { private UserDao userDao; public void setUserDao(UserDao userDao) { this.userDao = userDao; } public void save(){ userDao.save(); } }
第三步:bean.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"> <!--IOC容器的配置:dao对象--> <bean id="userDao" class="com.jinli.dao.UserDao"></bean> <!--IOC容器配置:创建service对象--> <bean id="userService" class="com.jinli.service.UserService"> <!--IOC容器:依赖注入,给service注入dao对象--> <property name="userDao" ref="userDao"/> </bean> </beans>
第四步:测试
public class App { @Test public void save(){ ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml"); UserService userService = ac.getBean(UserService.class); userService.save(); } }
第五步:改造为注解实现
第一步:bean.xml 开启注解扫描
第二步:
@Repository 修饰 dao @Service 修饰 service 在service中,通过@Autowired进行依赖注入
1.3、spring集成junit4
第一步:依赖
<!--junit单元测试--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency>