처음부터 차근차근

Environment객체 본문

Framework/Spring

Environment객체

_soyoung 2021. 9. 19. 19:13
반응형
Environment객체

 

외부 파일의 내용을 읽어와서 그 안의 설정 값들을 사용할 수 있게하는 객체이다.

하나의 웹 애플리케이션에는 evironment객체 하나만 존재할 수 있고, evironment객체의 getProperty() 메소드를 사용해서 값을 추출해낼 수 있다.

 

 

 

environment객체 사용 예1

 

프로퍼티 파일 내용
이렇게 environment 객체를 가져온다.

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()해서 데이터를 가져온다.

 

main함수

refresh에서 객체가 생성되고 초기화될 때 UserInfo클래스의 변수들도 같이 초기화가 된다.

그래서 별다른 코드를 작성하지 않아도 변수 getter을 이용해서 값을 가져올 수 있다.

 

 

 

 

 

 

출처 : https://www.youtube.com/watch?v=9cDHggH0ENA&list=PLPvokKzUkaLeiLUDKpqRdP8jtLU8lLKgR&index=8 변형 및 요약

반응형
Comments