개발

    (스프링 기본) 4. 스프링 컨테이너와 스프링 빈

    이 글은 김영한 님의 스프링 핵심 원리 - 기본편 강좌 수강 후 정리한 글입니다. https://www.inflearn.com/course/스프링-핵심-원리-기본편/dashboard 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 스프링 컨테이너 생성 스프링 컨테이너가 생성되는 과정을 알아보겠다. ApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); ApplicationContext를 스프링 컨테이너라 한다. ApplicationContext는..

    (스프링 기본) 3. 스프링 핵심 원리 이해 2 - 객체 지향 원리 적용

    이 글은 김영한 님의 스프링 핵심 원리 - 기본편 강좌 수강 후 정리한 글입니다. (https://www.inflearn.com/course/스프링-핵심-원리-기본편/dashboard) 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 새로운 할인 정책 개발 저번에 개발한 할인 정책이 정말 객체지향 설계 원칙을 잘 준수했는지 확인해보자. 이번에는 고정 금액 할인이 아닌 정률(%) 할인 정책을 추가할 것이다. 1. RateDiscountPolicy 추가 저번에 고정 금액 할인 정책인 FixDiscountPolicy를 구현했으므로 이번엔 ..

    (스프링 기본) 2. 스프링 핵심 원리 이해 1 - 예제 만들기

    이 글은 김영한 님의 스프링 핵심 원리 - 기본편 강좌 수강 후 정리한 글입니다. (https://www.inflearn.com/course/스프링-핵심-원리-기본편/dashboard) 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 프로젝트 생성 https://start.spring.io/에서 다음과 같이 설정 한 뒤 압축 해제 후에 Intellij에서 실행한다. 여기서는 순수 자바의 역량을 보여주기 위해서 어떠한 외부 Dependecies도 추가하지 않고 진행하였다. 비즈니스 요구 사항과 설계 요구사항을 보면 회원 데이터, 할인 ..

    (스프링 기본) 1. 객체 지향 설계와 스프링

    이 글은 김영한 님의 스프링 핵심 원리 - 기본편 강좌 수강 후 정리한 글입니다. (https://www.inflearn.com/course/스프링-핵심-원리-기본편/dashboard) 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 스프링이란? 1. 스프링 생태계 2. 스프링 프레임워크 핵심 기술 : 스프링 DI 컨테이너, AOP, 이벤트 등 웹 기술 : 스프링 MVC, 스프링 WebFlux 데이터 접근 기술: 트랜잭션, JDBC, ORM 지원, XML 지원 기술 통합: 캐시, 이메일, 원격 접근, 스케줄링 테스트: 스프링 기반 테..

    (스프링 입문) 7. AOP

    이 글은 김영한 님의 스프링 입문 강좌 수강 후에 정리한 글입니다. (https://www.inflearn.com/course/스프링-입문-스프링부트/dashboard) AOP ● AOP가 필요한 상황 지금까지 구현한 회원 가입, 회원 조회 기능들의 소요 시간을 체크해보려고 한다. MemberService 회원 조회 시간 측정 추가 package hello.hellospring.service; import hello.hellospring.domain.Member; import hello.hellospring.repository.MemberRepository; import org.springframework.transaction.annotation.Transactional; import java.util...

    (스프링 입문) 6. 스프링 DB 접근 기술

    이 글은 김영한 님의 스프링 입문 강좌 수강 후에 정리한 글입니다. (https://www.inflearn.com/course/스프링-입문-스프링부트/dashboard) 스프링 DB 접근 기술 ● H2 데이터베이스 설치 H2 DB는 개발 및 테스트 용도로 사용하며, 가볍고 편리한 DB이다. 웹 화면도 제공한다. 다운로드 : https://www.h2database.com H2 Database Engine (redirect) H2 Database Engine Welcome to H2, the free SQL database. The main feature of H2 are: It is free to use for everybody, source code is included Written in Java, ..

    (스프링 입문) 5. 회원 관리 예제 (웹 MVC 개발)

    이 글은 김영한 님의 스프링 입문 강좌 수강 후에 정리한 글입니다. (https://www.inflearn.com/course/스프링-입문-스프링부트/dashboard) 회원 관리 예제 - 웹 MVC 개발 ● 회원 웹 기능 - 홈 화면 추가 1. 홈 컨트롤러 추가 package hello.hellospring.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HomeController { @GetMapping("/") public String home(){ return "home"; } } @Ge..

    (스프링 입문) 4. 스프링 빈과 의존관계

    이 글은 김영한 님의 스프링 입문 강좌 수강 후에 정리한 글입니다. (https://www.inflearn.com/course/스프링-입문-스프링부트/dashboard) 스프링 빈과 의존관계 회원 컨트롤러가 회원 서비스와 회원 리포지토리를 사용할 수 있게 의존관계를 추가하여야 한다. package hello.hellospring.controller; import hello.hellospring.service.MemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @Controller public class MemberControlle..

    (스프링 입문) 3. 회원 관리 예제

    이 글은 김영한 님의 스프링 입문 강좌 수강 후에 정리한 글입니다. (https://www.inflearn.com/course/스프링-입문-스프링부트/dashboard) 회원관리 예제 ● 비즈니스 요구 사항 데이터 : 회원 ID, 회원 이름 기능 : 회원 등록, 조회 DB : 아직 데이터 저장소가 선정되지 않음 (우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계) ● 일반적인 웹 애플리케이션 계층 구조 컨트롤러 : 웹 MVC의 컨트롤러 역할 서비스 : 핵심 비즈니스 로직 구현 리포지토리 : DB에 접근, 도메인 객체를 DB에 저장하고 관리 도메인 : 비즈니스 도메인 객체 (ex. 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨) ● 회원 객체 생성 (도메인) package hello.h..

    (스프링 입문) 2. 스프링 웹 개발 기초

    이 글은 김영한 님의 스프링 입문 강좌 수강 후에 정리한 글입니다. (https://www.inflearn.com/course/스프링-입문-스프링부트/dashboard) 1. 정적 컨텐츠 정적 컨텐츠 입니다. 웹 브라우저에서 특정 html을 요청하면 (ex. hello.html) 서버는 스프링 컨테이너에 등록된 hello 관련 컨트롤러를 찾는다. 만약 컨트롤러가 존재하지 않는다면 이때 서버는 resource:static 이하에 위치한 hello-static.html을 찾는다. 그 후 브라우저는 서버가 찾아준 resource:static/hello-static.html을 보여준다. 이렇게 html 파일을 그대로 보여주는 것을 정적 컨텐츠라고 한다. 2. MVC와 템플릿 엔진 ● MVC MVC (모델-뷰-컨..