Springboot 는 파 라 메 트릭 클래스 에서@Value 주 해 를 사용 하여 값 을 추출 합 니 다.

2069 단어 SpringbootValue주해
저 희 는 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();
설정 파일 의 값 과 들 어 오 는 인 자 를 동시에 가 져 올 수 있 습 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기