처음부터 차근차근
Environment객체 본문
Environment객체
외부 파일의 내용을 읽어와서 그 안의 설정 값들을 사용할 수 있게하는 객체이다.
하나의 웹 애플리케이션에는 evironment객체 하나만 존재할 수 있고, evironment객체의 getProperty() 메소드를 사용해서 값을 추출해낼 수 있다.
environment객체 사용 예1
PropertySources 설명 :
environment객체는 정보를 프로퍼티로 관리하기 때문에 여러 프로퍼티들을 가지고 있다.
그래서 정보를 가져올 때도 getProperty()함수를 사용하는 것이다.
즉, PropertySources란, environment객체가 가지고 있는 모든 프로퍼티들을 뜻한다.
이렇게 해서 프로퍼티 정보들을 가져와서 출력할 수 있다.
다른 방법
먼저 class를 하나 만들고, xml파일도 하나 만들어서 그 클래스 bean을 생성한다.
클래스에 EnvironmentAware을 implement하고, Environment 변수를 선언해준다.
EnvironmentAware을 implement하면 setEnvironment()메소드를 override해야하는데, 이 함수가 클래스 bean이 생성되기 전에 호출되어 environment객체를 environment변수에다가 자동으로 넣어준다!
environment객체는 웹 애플리케이션당 하나씩만 만들어지기 때문에 'environment객체 사용 예1'에서 만들었던 environment객체가 들어가는 것이다.
InitializingBean의 함수 afterPropertiesSet()을 override해서 아까 만들어진 environment객체를 이용하여 getProperty()해서 데이터를 가져온다.
refresh에서 객체가 생성되고 초기화될 때 UserInfo클래스의 변수들도 같이 초기화가 된다.
그래서 별다른 코드를 작성하지 않아도 변수 getter을 이용해서 값을 가져올 수 있다.
출처 : https://www.youtube.com/watch?v=9cDHggH0ENA&list=PLPvokKzUkaLeiLUDKpqRdP8jtLU8lLKgR&index=8 변형 및 요약
'Framework > Spring' 카테고리의 다른 글
profile이용해서 bean 선택하여 사용하기 (0) | 2021.10.02 |
---|---|
evn객체 없이 외부 파일로 bean설정하는 법 (0) | 2021.09.23 |
스프링 IOC 컨테이너와 bean의 생명주기(Life cycle) (0) | 2021.09.16 |
JAVA 사용해서 의존성 주입하기 (0) | 2021.09.15 |
Dependency Injection(의존성 주입) (0) | 2021.09.15 |