[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 기능
- 값을 지정한다
- systemProperties를 가져와서 값을 읽어오거나 주입할수 있다
- systemEnvironmet를 가져와서 값을 읽어오거나 주입할수 있다
(2) @Value + properties 사용법
@PropertySource를 사용하여 파일을 읽어온다
읽어올 Properties 파일을 생성한다
src > main > webapp >resouces
결과물을 출력하면
파일에서 읽어온 값이 적용된다.
'🌈 백엔드 > 스프링 프레임워크' 카테고리의 다른 글
객체컨테이너 + 객체자동등록 @Component (0) | 2023.09.01 |
---|---|
ApplicationContext 객체 컨테이너 생성하기 (0) | 2023.09.01 |
스프링_OOP 5대 설계원칙 - S O L I D (0) | 2023.08.12 |
스프링_애너테이션 (0) | 2023.07.20 |
스프링_ DB 데이터 객체 DAO (0) | 2023.07.20 |