Springフレームワークの
概要:
.Spring公式ウェブサイト:https ://spring.io/projects/spring-frameworkSpring
コンテナーを
使用してBeanを管理するSpring構成ファイルを
使用してBeanを管理するアノテーションを使用してSpring構成ファイルを合理化
するアノテーション構成クラスを使用してSpring構成を置き換えるファイル
Java構成クラスを使用するManagementBean2
。導入事例のデモンストレーション
(1)Mavenプロジェクトを作成する[SpringDemo2021]
(2)pom.xmlファイルに依存関係を追加すると、シェルフパッケージを初めてダウンロードするのに少し時間がかかります。 。
<?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.tjl.spring</groupId>
<artifactId>SpringDemo2021</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 * main / javaにnet.tjl.spring.lesson01パッケージを作成し、その中にSlayDragonQuestクラスを作成します
package net.tjl.spring.lesson01;
/**
* 功能:杀龙任务类
* 作者:谭金兰
* 日期:2021年03月15日
*/
public class SlayDragonQuest {
public void embark(){
System.out.println("执行杀龙任务");
}
}
//国际消费者权益日:Internqtional Consumer Rights Day
(4)勇敢な騎士クラスを
作成する-BraveKnightはnet.tjl.spring.lesson01パッケージにBraveKnightクラスを作成します
package net.tjl.spring.lesson01;
/**
* 功能:勇敢骑士类
* 作者:谭金兰
* 日期:2021年03月15日
*/
public class BraveKnight {
private SlayDragonQuest slayDragonQuest;
public void setSlayDragonQuest(SlayDragonQuest slayDragonQuest) {
this.slayDragonQuest = slayDragonQuest;
}
public void embarkOnQuest() {
slayDragonQuest.embark();
}
}
(5)従来の方法を使用して、勇敢な騎士にドラゴンを殺すタスクを完了させ
ます。* test / javaにnet.tjl.spring.lesson01パッケージを作成し、その中にTestBraveKnightOldクラスを作成します。
テストメソッドtestBraveKnight( )、結果を表示します
(6)Springフレームワークを使用して、勇敢な騎士にドラゴンを殺すタスクを完了させ
ます1.リソースディレクトリにlog4j.propertiesを
作成します2. Spring構成ファイルspring-config.xml
を作成し、構成されたspring-config.xmlを表示しますプロジェクト構造ウィンドウで
3.Spring構成ファイルにBeanを作成します
(1)ドラゴンキリングタスクBeanを作成します
<bean id="slayDragonQuest" class="net.tjl.spring.lesson01.SlayDragonQuest"/>
(2)勇敢なナイトビーンを作成する
<bean id="Mike" class="net.tjl.spring.lesson01.BraveKnight">
<property name="slayDragonQuest" ref="slayDragonQuest"/>
</bean>
4.テストクラスを作成します-TestBraveKnightNewtest
/ java /net.tjl.spring.lesson01にテストクラスTestBraveKnightNewを作成します
package net.tji.spring.lesson01;
import net.tjl.spring.lesson01.BraveKnight;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* 功能:采用Spring容器测试勇敢骑士类
* 作者:谭金兰
* 日期:2021年03月15日
*/
public class TestBraveKnightNew {
private ClassPathXmlApplicationContext context;
@Before
public void init() {
// 基于Spring配置文件创建应用容器
context = new ClassPathXmlApplicationContext("xmlconfig/spring-config.xml");
}
@Test
public void testBraveKnight() {
// 根据名称从应用容器中获取勇敢骑士对象
BraveKnight braveKnight = (BraveKnight) context.getBean("Mike");
// 勇敢骑士执行任务
braveKnight.embarkOnQuest();
}
@After
public void destroy() {
// 关闭应用容器
context.close();
}
}
テストメソッドを実行して結果を表示します
。5。Spring構成ファイルにさらに2つの勇敢なナイトビーンを作成します。
<bean id="Mike1" class="net.tjl.spring.lesson01.BraveKnight">
<property name="slayDragonQuest" ref="slayDragonQuest"/>
</bean>
<bean id="Mike2" class="net.tjl.spring.lesson01.BraveKnight">
<property name="slayDragonQuest" ref="slayDragonQuest"/>
</bean>
6.テストクラスを変更します-TestBraveKnightNew
(7)コンストラクター注入メソッドを使用して属性をBeanに注入します
。1 。レスキュータスククラスを作成します
-RescueDamselQuestはnet.tjl.spring.lesson01パッケージにRescueDamselQuestクラスを
作成します。2。作成します。美しさを救うためのナイトクラス-DamselRescuingKnight3.Spring
構成ファイルでレスキューナイトBeanを作成します
<bean id="rescueDamselQuest" class="net.tjl.spring.lesson01.RescueDamselQuest"/>
<bean id="damselRescuingKnight" class="net.tjl.spring.lesson01.DamselRescuingKnight">
<constructor-arg ref="rescueDamselQuest"/>
</bean>
4.テストクラスTestDamselRescuingKnightOldを作成します
テストメソッドを実行して結果を表示します
。5。テストクラスTestDamselRescuingKnightNewを作成します。
package net.tji.spring.lesson01;
import net.tjl.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();
}
}
テストメソッドを実行して効果を確認します