Spring学习01
Spring框架学习01
一案例演示
1. 创建Spring项目2021
2. 在pom中添加Spring框架的相关依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>net.fwj.spring</groupId>
<artifactId>SpringDemo2020</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<!-- spring.version -->
<spring.version>5.3.4</spring.version>
</properties>
<dependencies>
<!--Spring核心-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<!--Spring Bean-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
<!--Spring容器-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<!--Spring测试-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
</dependency>
<!--单元测试-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
3. 创建杀龙任务类-SlayDragonQuest
4.创建勇敢骑士类 - BraveKnight
5.采用传统方式让勇敢骑士完成杀龙任务
6.采用Spring框架让勇敢骑士完成杀龙任务
(1)在resources目录里创建log4j.properties
(2)创建Spring配置文件spring-config.xml
(3)在Spring配置文件里创建Bean
- 创建杀龙任务Bean
- 创建勇敢骑士Bean
(4)创建测试类 - TestBraveKnightNew
(5)在Spring配置文件里再创建两个勇敢骑士Bean
(6)修改测试类- TestBraveKnightNew
7.采用构造函数注入方式给bean注入属性
(1)创建救美任务类 - RescueDamselQuest
(2)创建拯救少女之骑士类 -DamselRescuingKnight
(3)在Spring配置文件里创建拯救少女骑士Bean
(4)创建测试类TestDamselRescuingKnightOld
package net.fwj.spring.lesson01;
import net.fwj.spring.lesson01.DamselRescuingKnight;
import net.fwj.spring.lesson01.RescueDamselQuest;
import org.junit.Test;
/**
* 功能:采用传统方式测试拯救美骑士类
* 作者:付文静
* 日期:2021年03月25日
*/
public class TestDamselRescuingKnightOld {
@Test
public void testDamselRescuingKnight() {
// 创建拯救少女任务对象
RescueDamselQuest rescueDamselQuest = new RescueDamselQuest();
// 创建拯救少女骑士对象
DamselRescuingKnight damselRescuingKnight = new DamselRescuingKnight(rescueDamselQuest);
// 拯救少女骑士执行任务
damselRescuingKnight.embarkOnQuest();
}
}
(5)创建测试类TestDamselRescuingKnightNew
package net.fwj.spring.lesson01;
import net.fwj.spring.lesson01.DamselRescuingKnight;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* 功能:采用Spring容器测试救美骑士类
* 作者:付文静
* 日期:2021年03月15日
*/
public class TestDamselRescuingKnightNew {
private ClassPathXmlApplicationContext context;
@Before
public void init() {
// 基于Spring配置创建应用容器
context = new ClassPathXmlApplicationContext("xmlconfig/spring-config.xml");
}
@Test
public void testDamselRescuingKnight() {
// 根据名称从应用容器里获取拯救少女骑士对象
DamselRescuingKnight damselRescuingKnight = (DamselRescuingKnight) context.getBean("damselRescuingKnight");
// 拯救少女骑士执行任务
damselRescuingKnight.embarkOnQuest();
}
@After
public void destroy() {
// 关闭应用容器
context.close();
}
}