본문 바로가기

카테고리 없음

[Spring] EnvironmentCapable - property

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
반응형