728x90
반응형
[Spring] EnvironmentCapable - property
property
property: 어플리케이션에 사용되는 여러가지 key-value 쌍으로 제공되는 property에 간편하게 접근할 수 있는 기능
-> Spring은 property에 계층형으로 접근한다.
StandardServletEnvironment의 우선순위
- ServletConfig 매개변수
- ServletContext 매개변수
- JNDI (java:comp/env/)
- JVM 시스템 property (-Dkey="value")
- JVM 시스템 환경변수 (운영체제 환경변수)
property 접근 방법
1) JVM 시스템 property
접근 방법
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.context.ApplicationContext;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;
@Component
public class AppRunner implements ApplicationRunner {
@Autowired
ApplicationContext ctx;
@Value("${app.name}")
String appName;
@Override
public void run(ApplicationArguments args) throws Exception {
Environment environment = ctx.getEnvironment();
// 1) environment의 getProperty 메서드 활용
System.out.println(environment.getProperty("app.name"));
// 2) @Value 활용
System.out.println(appName);
}
}
2) app.properties 파일
app.properties 파일 생성 후에 app.name=spring5 입력 후 저장
접근 방법
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.PropertySource;
@SpringBootApplication
@PropertySource("classpath:/app.properties")
public class Demospring52Application {
public static void main(String[] args) {
SpringApplication.run(Demospring52Application.class, args);
}
}
728x90
반응형