
기본 : 바우처 관리 애플리케이션
Maven / Gradle 로 프로젝트를 실제로 구성하고 이때 Spring Boot CLI를 개발PC에 설치해서 명령어들을 사용해보고 프로젝트를 만든다. 그리고 IDE (IntelliJ)에서 실행시켜 본다.
바우처 관리 Command-line Application을 만들어본다.
스프링부트 애플리케이션으로 만든다.
(Web기능이 없이 만듭니다. 즉, 서버가 띄지 않고 커맨드라인 애플리케이션으로 동작)
프로그램이 시작하면 다음과 같이 지원가능한 명령어를 알려준다.
=== Voucher Program === Type exit to exit the program. Type create to create a new voucher. Type list to list all vouchers.
create / list 커맨드를 지원한다.
- create 커맨드를 통해 바우처를 생성할수 있다. (FixedAmountVoucher, PercentDiscountVoucher)
- list 커맨드를 통해 만들어진 바우처를 조회할 수 있다.
- 바우처 정보를 메모리에 관리한다. 어플리케이션이 종료가 되어 데이터가 모두 사라져도 괜찮다. (나중에 영속성을 가지도록 변경할거에요 걱정마세요!)
적절한 로그를 기록하고
logback 설정을해서 에러는 파일로 기록된다.실행가능한
jar 파일을 생성한다.심화 : 파일을 통한 데이터관리 기능과 고객 블랙 리스트 명단 관리기능
메모리 관리가 아닌 파일로 관리가 되는 Repository를 한번 만들어보세요.
- 기존 메모리 레포지토리는 지우지 말고 개발 프로파일에서만 동작하게 해보세요.
고객 블랙 리스트 명단을 작성한다.
- customer_blacklist.csv 파일을 만들고 스프링 애플리케이션에서 해당 파일을 읽을 수 있다. (블랙리스트를 조회 할 수 있다)(추가할 필요는 없어요. 블랙리스트는 파일로만 관리된다고 가정합니다.)
YAML 프라퍼티를 만들고 어떤 설정을 만들수 있을지 고민해본다.
![[New] 타일러팀](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fd0e59f54-3983-49c1-8f40-b92d6721d616%2Fkisspng-linux-fedora-unix-operating-systems-linux-5ab6faa3d2f047.949926281521941155864.png?table=block&id=8795517e-799e-41fd-9d58-bd2720695384&cache=v2)