Framework, Spring, Springboot
inflearn 김영한의 '스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술' 강의를 보고 정리한 내용입니다. 1. 프로젝트 생성 (Java가 설치되어 있다는 가정하에) 스프링 부트 스타터 사이트로 이동해 스프링 프로젝트 생성 https:/
1. 정적 컨텐츠 파일을 그대로 웹브라우저에게 전달 동작 과정 내장 서버에서 /hello-static.html 요청을 받으면 hello-static 관련 Controller를 찾는다. 해당 Controller가 없으면 /resources/static/hello
데이터 : 회원ID, 이름기능 : 회원 등록, 조회아직 데이터 저장소가 선정되지 않음(가상의 시나리오)컨트롤러 : 웹 MVC의 컨트롤러 역할서비스 : 핵심 비지니스 로직 구현 (ex. 회원가입)리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리도메인
inflearn 김영한의 '스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술' 강의를 보고 정리한 내용입니다.controller/MemberController.java동작 과정스프링이 실행될 때 맨 처음 스프링 컨테이너가 생긴다.@Controll
1. 회원 웹 기능 - 홈 화면 추가 홈 컨트롤러 추가 회원 관리용 홈 컨트롤러가 정적 파일보다 우선순위가 높다. 2. 회원 웹 기능 - 등록 회원 등록 폼 컨트롤러 회원 등록 폼 HTML 회원 등록 컨트롤러 3. 회원 웹 기능 - 조회 회원 컨트롤러에서 조회 기능
1. 순수 Jdbc (라이브러리) implementation 'org.springframework.boot:spring-boot-starter-jdbc' //java는 db랑 연동하려면 jdbc driver가 있어야함 runtimeOnly 'com.h2database:
MemberService 회원가입 시간 측정문제시간을 측정하는 기능은 핵심 관심 사항x, 공통 관심 사항o핵심 로직에 시간 측정 로직을 추가하여 유지보수가 어려워 졌다.시간을 측정하는 로직을 변경할 때 모든 로직을 찾아가면서 변경해야 한다.AOP: Aspect Orie
1. 좋은 객체 지향 프로그래밍이란? 개념 > - 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러개의 독립된 단위, 즉 "객체" 들의 모임으로 파악하고자 하는 것이다단 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다.(협
1. 비즈니스 요구사항과 설계 프로젝트 생성만 spring boot를 사용하고, 이번 예제는 순수하게 자바로만 작성한다. 회원 회원가입, 회원조회 회원등급: 일반, VIP 데이터 저장소 미정(인터페이스) 주문과 할인 정책 상품 주문 기능 회원 등급에 따른 할인 정책
고정 금액 할인 정책 => 정률 할인 정책정률 할인 정책 코드정률 할인 정책 테스트 케이스OrderServiceImpl코드 수정다른 할인정책으로 변경할 때 OCP를 위반 한다.OrderServiceImpl의 코드를 변경해야한다.인터페이스만 의존하는게 아니라 구현체도 의
1. 스프링 컨테이너 생성 스프링 컨테이너 생성 과정 스프링 컨테이너 생성 ApplicationContext: 스프링 컨테이너 (인터페이스) 스프링 빈 등록 스프링 빈 의존관계 설정 2. 컨테이너에 등록된 모든 빈 조회 3. 스프링 빈 조회 - 동일한 타입이 둘 이상
1. 웹 애플리케이션과 싱글톤 패턴 웹 애플리케이션은 보통 여러 고객이 동시에 요청을 한다. 스프링 없는 순수한 DI 컨테이너 테스트 요청이 들어올 때 마다 객체를 새로 생성 고객 트래픽이 초당 100이 나오면 초당 100개 객체가 생성되고 소멸 => 메모리
1. 컴포넌트 스캔과 의존관계 자동주입 컴포넌트 스캔 스프링이 제공하는 설정 정보 없이() 자동으로 스프링 빈을 등록하는 기능 - 가 붙은 모든 클래스를 자동으로 스캔하여 스프링 빈으로 등록 AutoAppConfig.java 스프링 빈 등록이 필요한 클래스에 추가
1. 다양한 의존관계 주입 방법 생성자 주입 수정자(setter) 주입 필드 주입 생성자 주입을 선택해야 하는 이유 2. 옵션 처리 자동 주입 대상을 옵션으로 처리하는 방법 3. 롬북과 최신 트렌드 4. 조회 빈이 2개 이상일 때 문제 해결방법 조회 빈이 모두 필요할
스프링 빈은 객체 생성 -> 의존관계 주입 후 초기화 작업을 호출할 수 있다.개발자가 의존관계 주입이 완료된 시점을 어떻게 알 수 있을까?스프링은 의존관계 주입이 완료되면 스프링 빈에게 콜백 메서드를 통해 초기화 시점을 알려주는 다양한 기능을 제공스프링은 스프링 컨테이