1. En la última lección, usamos el contenedor Spring para administrar objetos Bean en forma de archivos de configuración XML, y finalmente hicimos una pregunta de pensamiento: "Si tenemos docenas de clases para crear Beans, usando la configuración XML, Spring configurará The el archivo parece hinchado, ¿cómo resolver este problema? "En esta lección, planeamos usar anotaciones de componentes para optimizar los archivos de configuración de Spring.
2. Utilice las anotaciones de los componentes para optimizar el archivo de configuración de Spring.
1. Cree el paquete net.tjl.spring.lesson02.
2. Copie las cuatro clases del subpaquete lección01 en el subpaquete lección02.
3. Modifique la clase de tarea de matar dragones. -SlayDragonQuest
5. Modificar el valiente caballero Clase-BraveKnight
6. Modificar el caballero de rescate clase-DamselRescuingKnight
7. Crear un archivo de configuración de Spring
. Crear un subdirectorio xml_annotation en el directorio de recursos, y luego crear un archivo de configuración de Spring en it-spring-config .xml
8. Cree una clase de prueba-TestKnight
en prueba / Cree el paquete net.tjl.spring.lesson2 en java y cree la clase TestKnight en el paquete
package net.tjl.spring.lesson02;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* 功能:测试骑士类
* 作者:谭金兰
* 日期:2021年03月17日
*/
public class TestKnight {
private ClassPathXmlApplicationContext context;
@Before
public void init() {
// 基于Spring配置创建应用容器
context = new ClassPathXmlApplicationContext("xml_annotation/spring-config.xml");
}
@Test
public void testBraveKnight() {
// 根据名称从应用容器里获取勇敢骑士对象
BraveKnight braveKnight = (BraveKnight) context.getBean("braveKnight");
// 勇敢骑士执行任务
braveKnight.embarkOnQuest();
}
@Test
public void testDamselRescuingKnight() {
// 根据名称从应用容器里获取拯救少女骑士对象
DamselRescuingKnight damselRescuingKnight = (DamselRescuingKnight) context.getBean("damselRescuingKnight");
// 拯救少女骑士执行任务
damselRescuingKnight.embarkOnQuest();
}
@After
public void destroy() {
// 关闭应用容器
context.close();
}
}
. Ejecute el método de prueba testBraveKnight () para ver los resultados
. Ejecute el método de prueba testDamselRescuingKnight () para ver los resultados.
Ejecute toda la clase de prueba y vea el efecto.
9. Cómo implementar un nombre de bean personalizado.
Ejecute el método de prueba testBraveKnight () para ver los resultados
4. Optimización del programa- Interfaz de orientación
1. Crear interfaz de tarea-Quest
2. Crear interfaz de caballero-Knight
3. Modificar la clase de tarea de matar dragones-SlayDragonQuest
4. Modificar la clase de personaje de rescate-RescueDamselQuest
5. Modifica la clase de caballero valiente-BraveKnight
6. Modifique la clase de caballero de rescate-DamselRescuingKnight
7. Ejecute la clase de prueba-TestKnight