목록Dev/Spring (46)
녕의 학습 기록

♪ 학습 내용 회원 도메인 테스트 / 주문 할인 도메인 설계 - 스프링 프레임워크를 왜 사용하는지 알기 위한 과정으로 개발 시에 순수 자바 사용 * 회원도메인 테스트 실제 서버 띄워 실행 시 객체들 간 참조 관계는 다음과 같다 - 1L 의 L은 id의 자료형인 Long을 의미한다. 이와 같은 테스트 방식은 직접 결과 호출해 눈으로 확인하여 검증해야 하는 단점이 있다. * 회원도메인 테스트( JUnit 테스트 ) 기존 main 패키지가 아닌 test를 이용한다 다음 구조로 나누어 test 코드 작성하면 조금 더 알아보기 쉽다 // given 이런 이런게 주어졌을 때 // when 이렇게 했을 때 //then 이렇게 된다. 검증. 결과를 호출해 눈으로 검증했던 조금 전 방식과는 다르게 편하게 결과 확인이 가..

♪ 학습 내용 회원 도메인 / 저장소 / 서비스 개발 - 스프링 프레임워크를 왜 사용하는지 알기 위한 과정으로 개발 시에 순수 자바 사용 * 회원 도메인 개발 회원 등급 클래스와 회원 엔티티 클래스를 작성했다. 엔티티 클래스인 Member 클래스는 필드 id, name, grade . 생성자와 각 필드 Getter Setter를 가지고 있다. * 회원 저장소 개발 회원 저장소 인터페이스 MemberRepository 와 실제 구현체인 MemoryMemberRepository를 구현 회원을 저장하는 save() 와 id를 조회하는 findById() . 이 두가지 메서드를 가지고 있다. 실제 저장소 구현체인 MemoryMemberRepository에서는 데이터를 저장할 HashMap 따라서 save() 와..

♪ 학습 내용 스프링 프로젝트 생성 및 예제 설계 - 스프링 프레임워크를 왜 사용하는지 알기 위한 과정으로 개발 시에 순수 자바 사용 * 프로젝트 생성 및 실행 https://start.spring.io 이용 아직은 스프링 프레임워크를 사용하지 않을 것이기에 DEpendencies 별도의 의존 관계 설정 x 압축 풀어주고 IntelliJ에서 build.gradel로 열어주었다. * 비즈니스 요구사항 / 설계 회원 - 가입, 조회 기능 - 일반 / VIP 등급 - 회원 데이터는 어떤 것으로 구현할지 미정 ( = 역할과 구현을 구분하여 인터페이스를 만들고 구현체 갈아끼우자 ) 주문 , 할인 - 회원은 상품 주문 - 등급에 따라 할인 정책 - 모든 VIP 고정 1000원 할인 (변경 가능) - 할인 정책 변경..

♪ 학습 내용 객체 지향 설계 원칙 SOLID / 스프링 프레임 워크의 필요성 * SOLID 좋은 객체 지향 설계의 5가지 원칙 - SRP : 단일 책임 원칙 - OCP : 개방 - 폐쇄 원칙 ★ - LSP : 리스코프 치환 원칙 - ISP : 인터페이스 분리 원칙 - DIP : 의존관계 역전 원칙 ★ * SRP 단일 책임 원칙 한 클래스는 하나의 책임을 가져야 한다. 그 기준은 ? 변경이 있을 때 파급 효과가 적으면 단일 책임 원칙을 잘 따른 것이다 하나의 책임 이라는 범위를 적절하게 잘 조절하는게 객체 지향 설계의 묘미 * OCP 개방-폐쇄 원칙 ★ 확장에는 열려있고 변경에는 닫혀 있어야한다. 다형성을 활용해 보면 (역할과 구현의 분리를 생각) public class Driving{ private C..

♪ 학습 내용 스프링과 객체 지향의 다형성 * 스프링 스프링이라는 단어는 문맥에 따라 다르게 사용되는데, 통상 스프링이라 하면 스프링 부트, 스프링 프레임워크를 포함해서를 말한다. 무언가를 진정 내 것으로 하기 위해서는 핵심 개념과 왜 사용하는 지를 알아야한다. * 스프링의 핵심 스프링은 자바 언어 기반 자바는 대표적 객체 지향 언어 스프링은 객체 지향 프로그램을 잘할 수 있게 도와주는 도구이다. 그렇다면 좋은 객체 지향 프로그램이란 과연 무엇일까 ? * 객체 지향 프로그래밍 - 객체들의 모임 - 각 객체들은 메세지를 주고받고 데이터를 처리한다.(협력) - 유연하고 변경이 용이 ( = 객체지향의 다형성) 다형성을 실세계에 비유하려면 세계를 '역할'과 '구현'으로 구분해야한다. ex) 운전자 역할과 자동차..

블로그에 작성해오지는 않았지만, 짧굵배 JSP 웹프로그래밍에서 스프링까지 간단하게 만져본 뒤에 인프런에 김영한님의 Spring 입문 강의를 처음부터 들었다. 솔직히 말하면 너무 많은 내용을 짧은 시간안에 영상으로 접한 것이라 뭘 배운 거 같진 않았다 그래도 강의 목적 자체가 뭘 배우기보단, Spring을 어떻게 사용하는지 전체적으로 얕게 보여준 것이라 강의 목적으로만 보면 괜찮았다. 앞으로는 김영한님의 Spring 완전 정복 로드맵을 따라가며 공부를 할 것이다. 다음으로 공부할 부분은 Spring 핵심 원리 - 기본 이다.