스프링 부트로 코딩하고 있습니다. 나는 성공없이 다른 패키지에서 properties.properties의 가치를 얻으려고했다. 클라쎄 ClassUtils.java 예를 들어, testValue의 값이 내 프로젝트스프링 부트 응용 프로그램에서 속성 값을 얻을 수 없습니다.
입니다
항상 널이 내 코드입니다 : 이것은 내 두 번째 클래스는
package com.plugins.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.plugins.domain.ClassUtils;
@RestController
public class SearchContactController {
@Value("${environnement.test}")
String testValue;
@Value("${environnement.url}")
String urlValue;
@RequestMapping(value = "/test")
public String pingRequest() {
System.out.println("value ===> " + testValue + " /// " + urlValue);
return "test !" + ClassUtils.getTestValue();
}
}
입니다
, 어디에 testValue 변수의 값을 얻을 수 없다 :package com.plugins.domain;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class ClassUtils {
@Value("${environnement.test}")
static String testValue;
public static String getTestValue(){
return "The return "+testValue;
}
}
이 내 springApp.java입니다
package com.plugins;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringBootVideApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootVideApplication.class, args);
}
}
어느 클래스 다른 클래스의 메소드를 사용하여 클래스에 @Autowired 추가 기능에 의해이 문제를'ConfigurationProperties' @, 그래서 둘 다 얻을 것입니다 해결 아마 당신이 찾고있는 "느슨한 바인딩". 별도의'@ConfigurationProperties' 클래스를 생성하여 정보를 저장하고 삽입하십시오. – chrylis
BTW, 당신은 반복적으로 속성 이름에'environment'를 잘못 입력했습니다. 기술적 문제는 아니지만 그것을 원인으로 간주하기 위해 지적하고 싶습니다. – Bloodysock