spring boot 는 string value 문제 해결 방법 에서 place holder 를 해결 할 수 없습니다.

2081 단어 Spring
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'hosts' in string value "${db.hosts}"

문제 의 발생 은 여러 개의 properties 파일 로 인해 발생 한 것 입 니 다. 첫 번 째 properties 파일 에서 찾 지 못 하면 없다 고 생각 하지 않 고 다음 properties 파일 을 계속 찾 지 않 습 니 다.
해결 방법 은 다음 과 같다.
방법 1.
응용 프로그램 에 정적 방법 을 추가 합 니 다.
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.support.PropertySourcesPlaceholderConfigurer; import org.springframework.core.io.ClassPathResource; @Configuration @SpringBootApplication @ComponentScan public class TestApplication {public final static void main(String[] args) {SpringApplication.run(VfcadaptorApplication.class, args);}@Bean     public static PropertySourcesPlaceholderConfigurer placeholderConfigurer() {         PropertySourcesPlaceholderConfigurer c = new PropertySourcesPlaceholderConfigurer();         c.setIgnoreUnresolvablePlaceholders(true);         return c;     } }
방법 2. 속성 name 접두사 로 통일
app.datasource.foo.type=daffaDataSource
app.datasource.foo.status =30

             

@ConfigurationProperties("app.datasource.foo")
@ConfigurationProperties("app.datasource.foo")
Publicclass AA{
PrivateString type;
PrivateString status;
...
}

좋은 웹페이지 즐겨찾기