spring 용기 외부 용기 내부 bean 가 져 오기
1. 도구 류 SpringUtil 의 정적 방법 과 정적 인용 을 정의 합 니 다.
2. 인터페이스 Application ContextAware 를 실현 하 는 setApplication Context 방법.
3. spring 용 기 는 이 대상 을 만 드 는 과정 에서 자신의 인용 주입 대상 (Component 주석, spring 이 이 bean 을 스 캔 하도록 합 니 다).
코딩 순서
1. springutil 작성:
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
@Component
public class SpringUtil implements ApplicationContextAware {
private static ApplicationContext spring;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
if(spring == null) {
spring = applicationContext;
}
// applicationContext
public static ApplicationContext getApplicationContext() {
return spring;
}
// name Bean.
public static Object getBean(String name){
return getApplicationContext().getBean(name);
}
// class Bean.
public static T getBean(Class clazz){
return getApplicationContext().getBean(clazz);
}
// name, Clazz Bean
public static T getBean(String name,Class clazz){
return getApplicationContext().getBean(name, clazz);
}
}
2. 테스트 준비
2.1 우 리 는 시작 할 때 먼저 코드 방식 으로 spring 용기 에 bean 을 주입 하여 다음 과 같다.
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class BeanConfig {
@Bean(name="testDemo")
public Demo generateDemo() {
Demo demo = new Demo();
demo.setId(123);
demo.setName("test");
return demo;
}
}
2.2 실체 데모 클래스
import lombok.Data;
@Data public class Demo {
private int id;
private String name;
}
3. 테스트
그리고 테스트 controller 를 작성 하고 방금 쓴 springutil 에서 이 bean 을 가 져 옵 니 다.
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/application")
public class TestApplicationController {
@RequestMapping("/test")
public Object testSpringUtil() {
return SpringUtil.getBean("testDemo");
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
spring 용기 외부 용기 내부 bean 가 져 오기사고방식 단계: 1. 도구 류 SpringUtil 의 정적 방법 과 정적 인용 을 정의 합 니 다. 2. 인터페이스 Application ContextAware 를 실현 하 는 setApplication Contex...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.