스프링 부트 3

스프링 부트 - 외부 설정과 프로필2

✔️ 스프링이 지원하는 외부 설정스프링이 지원하는 다양한 외부 설정 조회 방법Environment@Value - 값 주입@ConfigurationProperties - 타입 안전한 설정 속성 @Slf4jpublic class MyDataSource { private String url; private String username; private String password; private int maxConnection; private Duration timeout; private List options; // 생성자 // @PostConstruct 로 멤버변수 log 출력 }  # application.propertiesmy.datasource.u..

스프링 부트 - 외부 설정과 프로필

✔️ 외부 설정하나의 애플리케이션을 여러 다른 환경에 적용개발 환경 : 개발 서버, 개발 DB 사용운영 환경 : 운영 서버, 운영 DB 사용 개발, 운영에 따라 환경 설정을 다르게 하여 빌드하는 것은 비효율적이다.  따라서 우선 빌드를 하고 배포 후 실행 시점에 외부 설정을 주입하는 것이다. 유지보수하기 좋은 애플리케이션 개발의 가장 기본적인 원칙변하는 것과 변하지 않은 것을 분리  외부 설정 사용 방법4가지 방법이 있다.OS 환경 변수 자바 시스템 속성 자바 커맨드 라인 인수외부 파일(설정 데이터) 1. OS 환경 변수System.getenv();전체  OS 환경 변수를 MAP으로 조회 가능 단, 다른 프로그램에서도 사용 가능 2. 자바 시스템 속성java -Durl=devdb -Dusername=de..

스프링 부트 - 부트와 내장 톰캣

✔️ WAR 배포 방식의 단점 웹 애플리케이션을 개발하고 배포하려면 다음과 같은 과정을 거친다.톰캣 같은 WAS 서버를 별도로 설치애플리케이션 코드를 WAR로 빌드빌드한 WAR 파일을 WAS에 배포이러한 방식에는 단점이 존재톰캣 같은 WAS를 별도 설치개발 환경 설정이 복잡단순 자바면 main() 메서드만 실행웹 애플리케이션은 WAS 실행하고 WAR와 연동하기 위한 복잡한 설정이 들어감배포 과정이 복잡 (WAR 빌드 후 WAS에 배포)톰캣 버전 변경시 재설치단순히 자바의 main() 메서드만 실행하면 웹 서버까지 같이 실행되도록하는 방법은 없을까?톰캣 같은 웹서버를 라이브러리로 내장해버리는 것이다.  (내장 톰캣 기능)  ✔️ 내장 톰캣build.gradle plugins { id 'java'}gr..