/src/main/resources/application.properties 를 생성해도
정상적으로 인식 되지 않는 일이 있어서 인식 하도록 추가 해보았다.
1) servlet-context.xml
<context:property-placeholder location="classpath:application.properties" />
추가
2) Configuration 어노테이션 사용하는 클래스 추가
import org.springframework.context.EnvironmentAware;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.core.env.Environment;
@Configuration
@PropertySource(value = { "classpath:application.properties" }, ignoreResourceNotFound = false)
public class ConfigEnvironment implements EnvironmentAware {
private static Environment env;
public static String getProperty(String key) {
return env.getProperty(key);
}
@Override
public void setEnvironment(Environment environment) {
this.env = environment;
}
}
: setEnvironment 는 EnvironmentAware를 상속받아야 해서 추가했다.
이 것을 해야 Bean이 생성되기 전에 먼저 호출이 되어서 Properties 가져올 시에 null이 안 난다.
3) 컨트롤러 등에서 사용
ConfigEnvironment environment = new ConfigEnvironment();
-> environment.getProperty("admin.jsPath"); 과 같이 사용하면 된다.
댓글
댓글 쓰기