Springboot 는 파 라 메 트릭 클래스 에서@Value 주 해 를 사용 하여 값 을 추출 합 니 다.
@Component
class A {
@Value("${user.value}")
private String configValue;
public void test() {
System.out.println(configValue);
}
}
그러나 때때로 우 리 는 이런 종류의 인삼 구조 방법 이 필요 하 다.예 를 들 어
@Component
class A {
@Value("${user.value}")
private String configValue;
private String s;
public A(String s) {
this.s = s;
}
public void test() {
System.out.println(s);
System.out.println(configValue);
}
}
@Value 를 적용 하려 면 Spring 에 Bean 을 맡 겨 관리 해 야 합 니 다.new 를 사용 하여 대상 을 예화 할 수 없습니다.그렇지 않 으 면@Value 의 값 은 NULL 입 니 다.저 희 는 보통@Autowired 를 사용 합 니 다.기본적으로 인삼 이 없 는 구조 방법 을 주입 합 니 다.인삼 이 있 는 구조 방법 을 주입 하려 면 Config 류 를 구축 해 야 합 니 다.
@Configuration
public class AConfig {
@Bean(name="abc")
DataOpration abcA() {
return new A("abc");
}
}
그리고 SpringUtil 클래스 를 만 듭 니 다.
@Component
public class SpringUtil implements ApplicationContextAware {
private static ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
if(SpringUtil.applicationContext == null) {
SpringUtil.applicationContext = applicationContext;
}
}
public static ApplicationContext getApplicationContext() {
return applicationContext;
}
// name Bean.
public static Object getBean(String name){
return getApplicationContext().getBean(name);
}
}
호출 할 때,대응 하 는 Bean 만 가 져 오기A a = (A) SpringUtil.getBean("abc");
a.test();
설정 파일 의 값 과 들 어 오 는 인 자 를 동시에 가 져 올 수 있 습 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[MeU] Hashtag 기능 개발➡️ 기존 Tag 테이블에 존재하지 않는 해시태그라면 Tag , tagPostMapping 테이블에 모두 추가 ➡️ 기존에 존재하는 해시태그라면, tagPostMapping 테이블에만 추가 이후에 개발할 태그 기반 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.