공부/Spring 6

[섹션 2] 스프링 핵심 원리 이해1 - 예제 만들기 (주문과 할인 도메인 개발과 테스트 코드 작성)

* Inflearn에서 "스프링 핵심 원리 - 기본편" by 김영한 강의를 수강하며 작성한 글입니다. 주문과 할인 도메인 개발 패키지 생성, 인터페이스 생성 여기서 좋은 단축키 F2, 아무곳에서나 누르면 오류가 난 Member로 바로 이동한다. 이동해서 alt + enter로 Member를 import 해주면 해결된다. 그런데 여기서 문제가 나는 hello.core 아래에 작성한 member 패키지를 IntelliJ가 alt + enter로 찾지 못했다. 그래서 수동으로 입력해줬는데 설정을 해줘야 하는게 있는지... 찾아봐야겠다. 또 IntelliJ의 경우 주석을 입력하기 위해 /**를 치고 enter하면 자동으로 params와 return 주석이 생성된다. 정액 할인 정책을 위한 클래스를 생성한다. 주..

공부/Spring 2022.10.01

[섹션 2] 스프링 핵심 원리 이해1 - 예제 만들기 (주문과 할인 도메인 설계)

* Inflearn에서 "스프링 핵심 원리 - 기본편" by 김영한 강의를 수강하며 작성한 글입니다. 주문과 할인 도메인 설계 회원은 상품을 주문할 수 있다. 회원 등급에 따라 할인 정책을 적용할 수 있다. 할인 정책은 모든 VIP는 1000원을 할인해주는 고정 금액 할인을 적용해달라. 할인 정책은 변경 가능성이 높다. 회사의 기본 할인 정책을 아직 정하지 못했고, 오픈 직전까지 고민을 미루고 싶다. 최악의 경우 할인을 적용하지 않을수도 있다. (미확정) 도메인 도메인을 살펴보면 "역할과 구현을 분리"했기 때문에 자유롭게 구현 객체를 조립할 수 있게 설계했다. 덕분에 회원 저장소는 물론이고, 할인 정책도 유연하게 변경할 수 있다. 할인 정책과 주문 서비스 구현체 부분만 갈아끼울 수 있음 클래스 다이어그램..

공부/Spring 2022.09.27

[섹션 2] 스프링 핵심 원리 이해1 - 예제 만들기 (회원 도메인 개발과 테스트 코드 작성)

* Inflearn에서 "스프링 핵심 원리 - 기본편" by 김영한 강의를 수강하며 작성한 글입니다. Package 생성 New - Package로 hello.core 밑에 member 패키지를 생성한다. Class 생성 이후 New - Class로 필요한 클래스들을 생성한다. Grade는 BASIC, VIP 두 가지 값 중 하나를 선택하는 Enum 타입으로 작성했다. 마찬가지로 Class와 Interface를 구분하여 생성한다. 아래는 member 클래스를 작성하는 과정인데 IntelliJ는 변수 선언 이후 Constructor를 편하게 생성할 수 있다. alt + insert 단축키를 사용하면 간편하다. 전체(Ctrl + A) 선택 후 OK를 클릭한다. 마찬가지로 Getter와 Setter도 생성해준..

공부/Spring 2022.09.22

[섹션 2] 스프링 핵심 원리 이해1 - 예제 만들기 (비즈니스 요구사항과 프로젝트 설계)

* Inflearn에서 "스프링 핵심 원리 - 기본편" by 김영한 강의를 수강하며 작성한 글입니다. 비즈니스 요구사항과 설계 위와 같은 요구 사항을 보면 회원 데이터, 할인 정책 같은 부분은 지금 결정하지 어려운 부분이다. 그렇다고 이런 정책이 결정될 때까지 개발을 무기한 기다릴 수도 없다. 이런 상황에서 우리는 앞에서 배운 객체 지향 설계 방법을 사용할 수 있다! 인터페이스를 맏늘고 구현체를 언제든지 갈아끼울 수 있도록 설계하면 된다. 참고로 현재는 순수 Java로만 개발을 진행하고 후에 Spring을 적용해본다. 회원 도메인 설계 도메인 협력 관계는 기획자들도 볼 수 있는 그림 아직 저장 방식이 확정되지 않은 상태이기 때문에, 메모리를 사용해서 개발을 진행하기로 결정한다. 간단한 메모리 저장소를 만..

공부/Spring 2022.09.21

[섹션 2] 스프링 핵심 원리 이해1 - 예제 만들기 (프로젝트 생성)

* Inflearn에서 "스프링 핵심 원리 - 기본편" by 김영한 강의를 수강하며 작성한 글입니다. IntelliJ 강사님이 IntelliJ를 사용하신다고 해서 설치했다. 찾아보니 Community(무료)와 Ultimate(유료) 버전으로 나뉘어 있었는데 Spring을 사용하려면 무조건 Ultimate 버전이 좋다고 해서 고민하다가... 학생 인증을 하면 무료로 사용할 수 있다는 블로그를 발견하고 바로 따라했다. 현재 대학생 신분이 아니어도 학교 메일 계정으로 인증만 하면 가능하니까 너무 좋은 혜택!!! 환경 세팅 https://start.spring.io/ 에서 다음 설정으로 Spring Boot 파일을 다운받는다. 초반 강의에서는 스프링을 사용하지 않고 순수 Java로 코드를 짤 것이지만 환경 세팅..

공부/Spring 2022.09.19

[섹션 1] 객체 지향 설계와 스프링

* Inflearn에서 "스프링 핵심 원리 - 기본편" by 김영한 강의를 수강하며 작성한 글입니다. Spring이란? Spring은 말 그대로 "봄"이라는 뜻에서 유래했다고 한다. 이야기는 좀 길게 설명해주셨지만 결론은 EJB라는 그 당시 점유율 독점 방식이 굉장히 의존적이고 불편해서 Java의 객체지향 특성을 잘 살리지 못했던... 추운 겨울에 한 줄기 봄처럼 등장한 듯 했다. 스프링은 이제는 위의 모든 기술을 아우르는 개념처럼 불리우게 되었는데 문맥에 따라 다르게 사용된다. 스프링 DI 컨테이너 기술, 스프링 프레임워크, 모두 포함한 스프링 생태계 등 실무를 진행하면서는 필요시 구체적으로 '스프링 세션', '스프링 클라우드' 등으로 특정하여 부른다고 한다. 스프링 프레임워크 핵심 기술 : 스프링 D..

공부/Spring 2022.09.13