[SPRING] 독립 실행 형 응용 프로그램에서 Spring 사용
SPRING독립 실행 형 응용 프로그램에서 Spring 사용
나는 Spring을 배우고 있으며 독립형 응용 프로그램에서 어떻게 사용하는지 (그리고 웹 응용 프로그램을 만들 때 사용하는 방법)에 관한 질문이 있습니다. 지금까지 코딩 된 예제는 getBean을 호출하여 빈을 검색하는 간단한 메인 메소드를 사용했다. 컨텍스트 객체. 그러나 여러 클래스에서이 작업을 수행하려는 경우 먼저 컨텍스트를 가져온 다음 getBean을 호출하거나 다른 대체 방법이 있습니까? 또는 독립 실행 형 응용 프로그램 및 웹 응용 프로그램에서이 작업을 수행하는 방법입니까?
해결법
-
==============================
1.context.getBean ()을 사방에 호출하면, 의존성 삽입 프레임 워크 인 Spring의 모든 부분을 빠뜨릴 수 있습니다.
context.getBean ()을 사방에 호출하면, 의존성 삽입 프레임 워크 인 Spring의 모든 부분을 빠뜨릴 수 있습니다.
독립 실행 형 응용 프로그램에서는 일반적으로 context.getBean ()을 한 번만 (또는 적어도 매우 드물게) 호출하여 "루트"bean을 가져옵니다. 이 빈은 Spring에 의해 다른 빈들과 함께 주입된다.
웹 응용 프로그램에서는 모두 사용하는 프레임 워크에 따라 다릅니다. 그러나 일반적으로 컨텍스트를로드하는 web.xml에 리스너를 등록하고 컨트롤러는 Spring에 의해 생성 및 / 또는 주입됩니다.
-
==============================
2.너는 바른 길을 가고있어. 주 방법은 발견 한대로 애플리케이션 컨텍스트를 초기화합니다. 그 트릭은 애플리케이션 컨텍스트를 사용하여 애플리케이션의 진입 점을 만드는 것입니다. 그 콩은 봄에 만들어져 당신에게 유선이 될 것입니다.
너는 바른 길을 가고있어. 주 방법은 발견 한대로 애플리케이션 컨텍스트를 초기화합니다. 그 트릭은 애플리케이션 컨텍스트를 사용하여 애플리케이션의 진입 점을 만드는 것입니다. 그 콩은 봄에 만들어져 당신에게 유선이 될 것입니다.
import org.springframework.beans.factory.BeanFactoryUtils; import org.springframework.context.support.AbstractApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class ApplicationMain { public static void main(String[] args) { AbstractApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:/META-INF/spring/applicationContext.xml"); MyApplication app = BeanFactoryUtils.beanOfType(ctx, MyApplication.class); app.init(); } }
-
==============================
3.하나의 클래스 (메인 클래스, 아마)는 컨텍스트를 생성하기 위해 Spring을 인식해야합니다. 다른 모든 클래스는 Spring을 통해 계속 연결될 수 있으며 컨텍스트를 인식 할 필요가 없습니다.
하나의 클래스 (메인 클래스, 아마)는 컨텍스트를 생성하기 위해 Spring을 인식해야합니다. 다른 모든 클래스는 Spring을 통해 계속 연결될 수 있으며 컨텍스트를 인식 할 필요가 없습니다.
-
==============================
4.종류는 작성하는 응용 프로그램에 따라 다르지만 getBean () 호출을 최소로 제한해야합니다. 첫 번째 빈을 컨텍스트에서 직접 가져오고 나머지 논리를 빈 자체에 넣습니다. 줄을 따라 뭔가 :
종류는 작성하는 응용 프로그램에 따라 다르지만 getBean () 호출을 최소로 제한해야합니다. 첫 번째 빈을 컨텍스트에서 직접 가져오고 나머지 논리를 빈 자체에 넣습니다. 줄을 따라 뭔가 :
Bootstrap boot = context.getBean(Bootstrap.class); boot.start();
그리고 나머지 모든 응용 프로그램 논리는 start () 내에서 발생합니다. 스레드를 생성하고 이벤트를 수신 할 수 있습니다.
from https://stackoverflow.com/questions/9675130/using-spring-in-standalone-apps by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring WebFlow Project의 서비스 레벨에서 junit 테스트를 실행하려고합니다. $ AssumptionViolatedException 가정 (0) | 2019.02.16 |
---|---|
[SPRING] Spring + Hibernate + JPA + 다중 데이터베이스 (0) | 2019.02.16 |
[SPRING] spring.datasource.type을 설정할 수 없습니다. (0) | 2019.02.16 |
[SPRING] Struts 2에서 WebSocket API 사용하기 (0) | 2019.02.16 |
[SPRING] AccessHeniedException - RoleHierarchyImpl를 사용하는 경우 (0) | 2019.02.16 |