Spring Framework Study Notes 01 : Spring 구성 파일을 사용하여 Bean 관리

Spring 프레임 워크
개요 :
.Spring 공식 웹 사이트 : https://spring.io/projects/spring-framework
여기에 사진 설명 삽입
여기에 사진 설명 삽입
Spring 컨테이너를 사용하여 Beans 관리
Spring 구성 파일을 사용하여 Bean 관리
주석을 사용하여 Spring 구성 파일 간소화
주석 구성 클래스를 사용하여 Spring 구성 대체 files
Java 구성 클래스 사용 Management Bean
2. 입문 사례 데모
(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. resources 디렉토리에 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. 테스트 클래스 만들기 TestBraveKnightNew
test / 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 구성 파일에 두 개의 brave knight bean을 더 만듭니다.

 <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 클래스를
여기에 사진 설명 삽입
여기에 사진 설명 삽입
생성 합니다. 구조에 대한 기사 클래스 뷰티 - DamselRescuingKnight는
여기에 사진 설명 삽입
여기에 사진 설명 삽입
Spring 설정 파일의 구조 기사 콩을 작성합니다

<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();
    }
}

테스트 방법을 실행하여 효과 확인
여기에 사진 설명 삽입

추천

출처blog.csdn.net/triet/article/details/114818193