>Java >java지도 시간 >Spring 프레임워크의 단순화된 사용법 소개

Spring 프레임워크의 단순화된 사용법 소개

不言
不言앞으로
2018-10-23 15:11:472068검색

이 글은 Spring 프레임워크의 단순화된 사용법을 소개합니다. 이는 특정 참조 가치가 있습니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

Spring 프레임워크로서 주요 기능은 앱(애플리케이션) 기능을 만드는 여러 클래스를 관리하는 것입니다. 전체 앱의 초석이자 백본인 이러한 클래스를 빈이라고 합니다.

Bean, 즉 비즈니스 기능을 수행하는 클래스의 집합을 관리하려면 직접 새로 생성할 수 없으며 통일된 스케줄링이 부족합니다. 따라서 Spring은 통합 관리를 위해 이러한 Bean을 Spring 컨테이너로 전송하는 도구로 .xml 구성 파일을 매체로 사용하고 IoC(Inversion of Control)를 도구로 사용합니다.

이를 바탕으로 컨테이너에 빈을 던지기 위해서는 최소한 두 부분이 필요합니다:

빈에 해당하는 클래스 정의

간접 제어를 위한 .xml 구성 파일

두 부분이 필요한 이유 need는 이해하기 쉽습니다. 먼저, Bean 자체에 대한 정의가 있어야 합니다. 다음으로, Bean을 수락하는 방법을 Spring 컨테이너에 알려주어야 합니다. 이는 .xml 파일에 설명되어 있습니다.

예를 들어, 우리가 관리하려는 bean은 HelloWorld라고 하며 그 두 부분은 다음과 같습니다: applicationContext-src.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-3.0.xsd">
    
    <bean id="helloWorld" class="com.terence.HelloWorld">        
        <property name="message" value="Hello Terence&#39;s World!" />
    </bean>  

</beans>

및 HelloWorld.java:

public class HelloWorld {
    private String message;     
    
    public void setMessage(String message) {       
        this.message  = message;    
    }     
    
    public void getMessage() {       
        System.out.println("Your Message : " + message);    
    } 
}

이 두 부분을 사용하면 Spring 컨테이너가 올바르게 bean을 수신할 수 있습니다. HelloWorld라는 이름이 붙었습니다.

이제 이 빈을 사용하려면 당연히 HelloWorld 빈을 직접 건드릴 수는 없습니다. 대신 이를 관리하는 Spring 컨테이너를 통해 빈을 가져온 다음 이 빈을 사용하여 직접 서비스해야 합니다.

예를 들어 MainApp.java라는 클래스는 이제 HelloWorld 빈의 서비스를 사용해야 합니다.

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class MainApp {    
    
    @SuppressWarnings("resource")
    public static void main(String[] args) {       
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext-src.xml");        
        HelloWorld obj = (HelloWorld) context.getBean("helloWorld");        
        obj.getMessage();    
    }
}

여기에는 두 부분이 있습니다.

먼저 구성 .xml의 위치에 따라 가져옵니다. file 여기서 Context인 Spring 컨테이너는 여러 Spring 컨테이너 중에서 가장 유명한 대변인으로 이해될 수 있다.

이 대변인을 확보한 후에는 자연스럽게 대변인에게 필요한 Bean HelloWorld를 요청할 수 있으므로 context.getBean() 메소드를 통해 필요한 Bean을 얻을 수 있습니다.

빈을 받으신 후 바로 사용하실 수 있습니다.

Spring 프레임워크의 시작점은 여러 기능 클래스(빈)에 대한 프록시 역할을 하고 이러한 빈을 자체 컨테이너로 통합하여 관리하는 것이 직관적이라는 것을 알 수 있습니다. Bean을 사용해야 하는 다른 클래스는 해당 에이전트를 통해 Bean을 얻어야 합니다.

논의해볼 만한 질문은 위의 내용이 매우 직관적이고 이해하기 쉬운데, 일반적인 Java 웹 개발에서 ApplicationContext에 대한 선언이 왜 그렇게 적다는 것입니다.

그 이유는 일반적인 J2EE 개발에서 Spring Context 선언이 사용자 코드에서 직접 수행되지 않고 web.xml에서 구성되기 때문입니다.

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/daoContext.xml /WEB-INF/applicationContext.xml</param-value>
</context-param>

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

여기서 ApplicationContext는 ContextLoaderListener 웹 앱의 도움으로 등록됩니다. .

또 다른 중요한 고려 사항은 다음과 같습니다.

코드에서 ApplicationContext를 직접 사용해서는 안 되며, Context를 사용하려면 구성 파일과 IoC를 동일하게 사용해야 합니다.



위 내용은 Spring 프레임워크의 단순화된 사용법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제