Spring 핵심원리 기본편 - 객체 지향 원리 적용(1)

1. 새로운 할인 정책 개발 이전에 만든 고정할인 정책 대신에 비율 할인 정책으로 변경하려고 한다. 비율 할인 정책을 개발해보자. > .../core/discount/RateDiscountPolicy 해당 코드에 ctrl + shift + t를 누르면 테스트 코드를

2023년 11월 2일
·
0개의 댓글
·

Spring 핵심원리 기본편 - 예제 만들기(주문 도메인)

다음과 같이 주문 도메인을 제작하고자 한다. 클라이언트는 주문 서비스에 주문 생성을 요청한다.할인을 위해서는 회원 등급이 필요하다. 그래서 주문 서비스는 회원 저장소에서 회원을 조회한다.주문 서비스는 회원 등급에 따른 할인 여부를 할인 정책에 위임한다.주문 서비스는 할

2023년 10월 31일
·
0개의 댓글
·

Spring 핵심원리 기본편 - 예제 만들기(회원 도메인)

1.프로젝트 생성 start.spring.io에서 설정을 다음과 같이 합니다. Spring Boot버전은 최신 버전 중 snapshot이나 rc1이 적혀있지 않는 버전을 선택합니다. 저는 java 버전이 안맞아서 2.7.17로 다시 선택하였습니다. Dependenci

2023년 10월 31일
·
0개의 댓글
·

Spring 핵심원리 기본편 - 객체 지향 설계와 스프링

추상화캡슐화상속다형성객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 객체들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다. (협력)객체 지향 프로그래밍은 프로그

2023년 10월 28일
·
0개의 댓글
·

Spring 입문 AOP

회원가입, 회원 조회 기능에 시간 측정 기능은 핵심 관심 사항이 아닙니다. AOP: Aspect Oriented Programming공통 관심 사항(cross-cutting concern) vs 핵심 관심 사항(core concern) 분리hellospring하위 디렉

2023년 8월 29일
·
0개의 댓글
·

Spring 입문 스프링 데이터 JPA

스프링 부트와 JPA만 사용해도 개발 생산성이 증가하지만 스프링 데이터 JPA를 사용하면 리포지토리 구현없이 인터페이스 만으로 개발이 가능합니다. 따라서 개발자는 핵심 비지니스 로직 개발에만 집중할 수 있습니다. 일단 SpringDataJpaRepository를 만듭니

2023년 8월 29일
·
0개의 댓글
·

Spring 입문 JPA

jdbc template을 사용하면 코드의 반복을 줄일 수 있지만 아직 sql을 직접 작성해야 하는 문제가 있습니다. 하지만 JPA를 사용하면 sql문을 작성하지 않아도 되고 객체 중심으로 설계를 생각할 수 있습니다. 고로 개발 생상선을 높일 수 있다는 장점이 있습니다

2023년 8월 29일
·
0개의 댓글
·

Spring 입문 JDBC template

JDBC는 JDBC API에서 본 반복 코드를 대부분 제공해줍니다. 하지만 SQL문은 직접 작성해야 합니다. JdbcTemplateMemberRepository를 만들어줍니다. config 파일도 수정해 줍니다. 기존 jdbc memberrepository에서 jdbc

2023년 8월 29일
·
0개의 댓글
·

Spring 입문 스프링 통합 테스트

전체 서비스에 대한 테스트 코드를 작성해 보도록 하겠습니다. test/hello.hellospring/service 디렉토리에 MemberServiceIntegrationTest 파일을 생성합니다. 기존 테스트 코드를 복/붙 해줍니다. 앞에 @SpringBootTest

2023년 8월 29일
·
0개의 댓글
·

Spring 입문 JDBC

build.gradle에 h2와 jdbc를 추가합니다.스프링부트 데이터베이스 연결 설정을 추가합니다.resources/application.properties에 다음 코드를 추가합니다. 이제 jdbc를 사용한 멤버 레파지토리를 만들어 보겠습니다. repository 디

2023년 8월 29일
·
0개의 댓글
·

Spring 입문 등록/조회

회원 등록, 회원 목록 페이지를 templates하위의 members 디렉토리를 만들어 관리한다. 해당 디렉토리에 createMemberForm.html을 만든다. 컨트롤러에 해당 페이지와 url을 연결시켜준다.코드를 보면 /members/new 주소로 들어가면(get

2023년 8월 21일
·
0개의 댓글
·

Spring 입문 홈 화면 추가

먼저 home화면을 다음과 같이 예제 코드를 사용하여 구성하였다.home컨트롤러에 @GetMapping 추가하여 home.html을 연결하였다. 우선 순위 상 index.html보다 위에 있으므로 index.html이 아닌 home.html이 띄워지게 된다. http&

2023년 8월 21일
·
0개의 댓글
·

Spring 입문 컴포넌트 스캔과 자동 의존관계 설정

회원 컨트롤러가 회원 서비스와 레파지토리를 사용할 수 있게 의존 관계를 준비하자생성자에 @Autowired가 있으면 스프링이 연관된 객체를 스프링 컨테이너에서 찾아서 넣어준다(dipendency injection). 현재 위 코드에 @Controller가 있으므로 해당

2023년 8월 21일
·
0개의 댓글
·

Spring 입문 회원 서비스 개발 및 테스트

저번에 만든 레파지토리를 사용하여 회원 서비스를 만들기 위해 service 디렉토리를 생성하였다. 멤버 서비스는 다음과 같이 구현한다. 멤버 서비스의 기능은 간단하게 회원 가입 및 중복 회원 검출, 전체 회원 조회, id로 멤버 검색이다. 해당 서비스가 잘 돌아가는데

2023년 8월 21일
·
0개의 댓글
·

Spring 입문 회원 관리 예제

비지니스 요구사항은 다음과 같다.데이터: 회원 ID, 이름기능: 회원등록, 조회DB: 아직 선정되지 않음(가상의 시나리오)웹 어플리케이션의 구조는 다음과 같다.클래스 의존관계는 다음과 같은데 DB가 선정되지 않았기에 인터페이스로 구현 클랫스를 변경할 수 있도록 설계하였

2023년 8월 17일
·
1개의 댓글
·

Spring 입문 API

클라이언트의 요청에 대한 response는 크게 2가지가 있다.1\. html2\. api앞에서는 html을 response하는 것에 대해 다뤄보았고 이번에는 api를 제공해 줄것이다. HelloController에 다음 내용을 추가하자페이지의 소스를 확인하면 다음과

2023년 8월 17일
·
0개의 댓글
·

Spring 입문 MVC와 템플릿엔진

MVC: model, view, controller기존 model1 방식으로는 view에서 controller의 기능까지 다 구현했었다.(jsp)지금은 따로 분리해서 구현 (- 선택과 집중)HelloController에 다음 코드를 추가한다. template디렉토리에

2023년 8월 17일
·
0개의 댓글
·

Spring 입문 정적 컨텐츠

static디렉토리에 hello-static.html을 만든다.서버를 실행시켜 http://localhost:8080/hello-static.html 에 접속해보면 다음과 같이 결과가 나온다. 말 그대로 정적 컨텐츠라서 안에 특별히 프로그래밍을 할 수 없다.

2023년 8월 17일
·
0개의 댓글
·

Spring 입문 View 환경설정

static 파일에 index.html파일을 만들자서버를 실행시키면 다음과 같이 출력이 된다. spring에서는 static 폴더에 있는 index.html을 찾아 welcome page로 지정하기에 별 다른 설정 없이 해당 화면이 실행된 것을 확인할 수 있다. hel

2023년 8월 17일
·
0개의 댓글
·

Spring 입문-프로젝트 생성

김영한 님의 spring 입문 강의를 듣고 배운 내용을 정리하려고 합니다. https://start.spring.io/위 사이트로 가서 프로젝트를 생성해줍니다. 설정은 다음과 같이 했습니다. 빌드 툴 같은 경우에는 Gradle로 설정하였습니다. 최근 Maven

2023년 8월 17일
·
0개의 댓글
·