자바

    [Spring Boot & AWS] Chpt 1 - 인텔리제이로 스프링 부트 시작하기

    이 글은 이동욱 님의 스프링 부트와 AWS로 혼자 구현하는 웹 서비스를 읽고 정리한 글입니다. 1. 인텔리제이 소개 자바 웹 개발 IDE의 쌍두마차가 있다. 바로 이클립스 재단의 '이클립스'와 젯브레인즈의 '인텔리제이'다. 이 책의 저자는 이클립스에 비해 인텔리제이가 다음과 같은 장점이 있어 추천하신다고 한다. 강력한 추천 기능 훨씬 더 다양한 리팩토링과 디버깅 기능 이클립스의 Git보다 훨씬 높은 자유도 프로젝트 시작 시 인덱싱을 하여 파일을 비롯한 다양한 자원에 대한 빠른 검색 속도 HTML, CSS, JS, XML에 대한 강력한 기능 지원 자바, 스프링 부트 버전업에 맞춘 빠른 업데이트 실제로 네이버, 카카오, 라인, 쿠팡, 우아한형제들 다양한 IT 서비스 기업에선 현재 인텔리제이를 공식 IDE로 ..

    (스프링 기본) 9. 빈 스코프

    이 글은 김영한 님의 스프링 핵심 원리 - 기본편 강좌 수강 후 정리한 글입니다. https://www.inflearn.com/course/스프링-핵심-원리-기본편/dashboard 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 빈 스코프란? 스코프는 빈이 존재할 수 있는 범위를 뜻한다. 스프링이 지원하는 빈 스코프들은 다음과 같다. 1. 싱글톤: 기본 스코프, 스프링 컨테이너의 시작과 종료까지 유지되는 가장 넓은 범위의 스코프이다. 2. 프로토타입: 스프링 컨테이너는 프로토타입 빈의 생성과 의존관계 주입까지만 관여하고 더는 관리하..

    (스프링 기본) 7. 의존관계 자동 주입

    이 글은 김영한 님의 스프링 핵심 원리 - 기본편 강좌 수강 후 정리한 글입니다. https://www.inflearn.com/course/스프링-핵심-원리-기본편/dashboard 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 다양한 의존관계 주입 방법 의존관계 주입 방법에는 4가지가 존재한다. 생성자 주입 수정자 주입 (setter 주입) 필드 주입 일반 메서드 주입 ● 생성자 주입 이름에서 알 수 있듯이 생성자를 통해서 의존관계를 주입받는다. 생성자 호출 시점에 딱 한 번 실행되는 것이 보장되기 때문에, 불변이나 필수 의존관계..

    (스프링 기본) 6. 컴포넌트 스캔

    이 글은 김영한 님의 스프링 핵심 원리 - 기본편 강좌 수강 후 정리한 글입니다. https://www.inflearn.com/course/스프링-핵심-원리-기본편/dashboard 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 컴포넌트 스캔과 의존관계 자동 주입 시작하기 지금까지는 자바 코드의 @Bean을 활용하여 설정 정보에 직접 등록할 빈을 나열하였다. 만약 빈의 개수가 매우 많아지면 이 작업은 너무 귀찮고, 누락의 위험성 또한 존재한다. 그래서 스프링은 설정 정보가 없어도 자동으로 스프링 빈을 등록하는 컴포넌트 스캔을 제공한..

    (스프링 기본) 5. 싱글톤 컨테이너

    이 글은 김영한 님의 스프링 핵심 원리 - 기본편 강좌 수강 후 정리한 글입니다. https://www.inflearn.com/course/스프링-핵심-원리-기본편/dashboard 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 웹 애플리케이션과 싱글톤 스프링은 태생부터 기업용 온라인 서비스를 지원하기 위해 탄생하였다. 대부분의 스프링 애플리케이션은 웹 애플리케이션이다. 물론 웹이 아닌 일반 애플리케이션 개발도 충분히 가능하다. 보통 웹 애플리케이션은 위 그림처럼 여러 고객이 동시에 요청을 한다. 만약 세 명의 클라이언트가 동시에 ..

    (스프링 기본) 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...