본문 바로가기

🌈 백엔드/스프링 프레임워크

스프링_외부파일 properties 연결 (feat, @Value)

반응형
SMALL

 

 

[1] 외부파일 연결 


 

(1) 외부파일을 연결하는 목적 

변경에 유리한 코드를 만들기 위해 외부파일을 이용한다. 

스프링 컨테이너인 Map 과 외부 파일(Properties, XML , Java)을 이용한다 

 

프로그램의 코드를 변경하지 않고 properties 파일을 변경해서 사용한다 

 

 

[2]  txt 외부파일 연결 


(1) key , value 형식의 txt 외부파일 연결 

 

JAVA 코드를 변경하지 않고 외부 파일에 저장된 (key, value) 값을 읽어 실행하고

추후 유지보수같은 변경이 필요할 경우 외부파일의 (key, value)값을 변경하여 유지보수한다 

 

외부파일 config.txt 를 생성한다.  

 

 

외부파일의 value로 해당된 값이 출력된다. 

 

[ !! 유지보수 발생 ]

외부파일 txt 파일 변경 후 결과물 변경된다 

 

[ !! 유지보수 발생 ]

Car 클래스의 하위클래스 electricCar 전기차가 추가되었다.

외부파일의 value를 바꿔야한다. 

 

electricCar 클래스를 추가하고

 

외부파일 txt 파일 변경 후 결과물 변경된다 

 

[ !! 유지보수 발생 ]

Car라는 상위클래스를 설정해놓으니 Car와 같은 급의 클래스를 더 추가해야하더라 

Car를 Object라는 더 상위 클래스 개념을 도입해야한다.  

 

메서드 getCar 를 getObject로 바꾸고 타입을 Car에서 Object로 바꿔 상위 클래스 타입으로 변경한다.  

 

왼쪽 : config.txt / 오른쪽 : 출력한 결과물 

 

 

 

 

[3]  properties 외부파일 연결


(1) @Value 기능

  1. 값을 지정한다
  2. systemProperties를 가져와서 값을 읽어오거나 주입할수 있다
  3. systemEnvironmet를 가져와서 값을 읽어오거나 주입할수 있다

 

(2) @Value + properties 사용법 

 

@PropertySource를 사용하여 파일을 읽어온다 

 

 

 

읽어올 Properties 파일을 생성한다

src > main > webapp >resouces 

 

 

결과물을 출력하면 

파일에서 읽어온 값이 적용된다. 

 

반응형
LIST