Spring

    [스프링부트와 JPA 활용 1] Section1. 프로젝트 환경설정

    프로젝트 생성 1. SpringBoot Starter 접속 (Spring Initializr) 2. 설정 3. 세팅 여부 확인 아래와 같이 JpashopApplication의 메소드 실행을 하게 되면, 실행 성공 시 Tomcat started on port(s): 8080 문구가 뜬다. 이후 웹페이지에서 아래 화면을 확인해주면 된다. + 테스트 코드도 확인 4. 플러그인 설치 롬복 사용시 Getter, Setter를 모두 만들어 준다. 라이브러리 살펴보기 1. cmd 창에서 확인 가능 (루트 폴더에서 열기) 2. IntelliJ에서 확인 가능 View 환경설정 Thymleaf 템플릿 엔진을 사용할 예정 (Thymeleaf) Thymeleaf Integrations galore Eclipse, Intell..

    [스프링부트와 JPA 활용 1] Section0. 강좌 소개

    스프링 부트 : 복잡하고 어려운 스프링 기술을 간결하고 쉽게 사용할 수 있도록 도와주는 기술 JPA : 강력한 Java ORM 표준 기술 위 두가지를 사용하면 높은 개발 생산성을 유지하며 빠르게 개발이 가능하다. 강의 목표 : SpringBoot와 JPA 같은 최신 기술을 활요해 웹 어플리케이션 개발을 할 수 있다. 강의 특징 : 예제를 코딩으로 배운다. 1편 - 웹 어플리케이션 개발 프로젝트 환경설정 요구사항 분석 도메인과 테이블 설계 아키텍쳐 구성 핵심 비즈니스 로직 개발 테스트 웹 계층 개발 2편 - API 개발과 성능 최적화 REST API 개발 성능 최적화 학습 방법 전체적인 감을 잡기 이후 부족한 기술들을 스스로 습득하기

    [스프링 핵심 원리] Section2. 스프링 핵심 원리 이해1 - 예제 만들기

    프로젝트 생성 Spring Initializr 을 통해 프로젝트 생성 추가 설정 for 속도 비즈니스 요구사항과 설계 회원 회원을 가입하고 조회할 수 있다. 회원은 일반과 VIP 등급이 있다. 회원 데이터는 자체 DB 구축하거나 외부 시스템과 연동할 수 있다. (미확정) 주문과 할인 정책 회원은 상품을 주문할 수 있다. 회원은 등급에 따라 할인 정책을 적용할 수 있다. 할인 정책은 모든 VIP는 1000원을 할인해주는 고정 금액 할인을 적용해달라. (추후 변동 가능) 할인 정책은 변경 가능성이 높다. 회사의 기본 할인 정책을 아직 정하지 못했고, 오픈 직전까지 미루고 싶다. 최악의 경우 할인을 적용하지 않을 수도 있다.(미확정) 요구 사항을 보면 결정하기 어려운 부분이 있는데 이를 위해 우리는 역할과 구..

    [스프링 핵심 원리] Section1. 객체 지향 설계와 스프링

    인프런 김영한 스승님의 두번째 커리큘럼 시작 !! 자바 진영의 추운 겨울과 스프링의 탄생 자바당 최고 기술 EJB 비용적 부담이 큼 의존적이라 객체 지향 프로그래밍 불가 어렵고 복잡하고 느림 스프링 EJB 컨테이너 대체 단순함의 승리 현재 사실상 표준 기술 하이버네이트 EJB 엔티티빈 기술 대체 JPA 새로운 표준 정의 EJB 엔티티빈 ⇒ 하버네이트 ⇒ JPA JPA 실용성과 표준의 안정성을 갖춘 JPA 탄생 스프링이란? 필수 스프링 프레임워크 - 가장 중요 스프링 부트 - 모든 기술을 편리하게 사용하도록 선택 스프링 데이터 - JPA를 주로 사용, CRUD를 편리하게 스프링 세션 - 세션 기능을 편리하게 스프링 시큐리티 - 보안 관련하여 스프링 Rest Docs - 문서를 편리하게 스프링 배치 - 배치..

    [SpringBoot-AWS] Chap06 - AWS 서버 환경을 만들어보자 - AWS EC2

    외부인이 내가 만든 서비스에 접근하려면 24시간 작동하는 서버 필요 호스팅 서비스나 클라우드 서비스를 이용하여 가능 특정 시간에만 트래픽이 몰린다면 유동적으로 사양을 늘릴 수 있는 클라우드 서비스가 유리 클라우드 인터넷(클라우드)을 통해 서버, 스토리지(파일 저장소), 데이터베이스, 네트워크, 소프트웨어, 모니터링 등의 컴퓨팅 서비스 제공 개발자가 직접 해야 할 일을 클라우드가 전부 지원 클라우드 형태 Infrastructure as a Service (IaaS, 아이아스, 이에스) 기존 물리 장비를 미들웨어와 함께 묶어둔 추상화 서비스 인프라 대여 서비스 AWS의 EC2, S3 등 Platform as a Service (PaaS, 파스) IaaS에서 한 번 더 추상화한 서비스 더 많은 기능이 자동화 ..

    [스프링 입문] Section6. 스프링 DB 접근 기술

    기존에는 메모리에 저장하는 방식 실무에서는 데이터베이스에 데이터들을 저장하여 관리 스프링이 JDBC template 기술 제공 애플리케이션에서 데이터베이스로 SQL을 편리하게 날릴 수 있음 JPA를 쓰면 객체를 바로 DB에 쿼리 없이 저장 가능 스프링 데이터 JPA : JPA를 편리하게 쓸 수 있도록 한 번 감싼 기능 H2 데이터베이스 설치 https://www.h2database.com/html/download-archive.html 에서 1.4.200 버전 설치 1. 데이터 베이스 파일 만들기 JDBC URL : 내 파일 경로 이후에 파일로 접근하면 애플리케이션과 웹 콘솔이 동시에 접근이 안될 수 있음 이후부터는 JDBC URL : jdbc:h2:tcp://localhost/~/test 파일 직접 접..

    [스프링 입문] Section5. 회원 관리 예제 - 웹 MVC 개발

    회원 웹 기능 - 홈 화면 추가 1. .../src/main/java/hello/hellospring/controller/HomeController.java 을 생성해서 홈 컨트롤러 추가 @Controller public class HomeController { @GetMapping("/") //도메인의 첫번째 public String home() { return "home"; //home.html이 호출 } } 2. .../src/main/resources/templates/home.html 을 생성해서 회원 관리용 홈 생성 Hello Spring 회원 기능 회원 가입 회원 목록 3. HelloSpringApplication.java 실행 시 localhost:8080 접속 시 홈 화면에 매핑된 htm..

    [스프링 이것저것] 의존성 주입 (DI) 개념 & 방법

    의존성 주입 의존성 주입 = Dependency Injection = DI 프로그램 디자인이 결합도를 느슨하게 되도록하고 의존관계 역전 원칙과 단일 책임 원칙을 따르도록 클라이언트의 생성에 대한 의존성을 클라이언트의 행위로 분리하는 것 by 위키피디아 의존 관계란? A가 B를 의존한다 = 의존대상 B가 변하면 그것이 A에 영향을 미친다 다양하게 의존 관계를 맺으려면 인터페이스로 추상화 해야 함 ⇒ 실제 구현 클래스와의 관계는 느슨해지고 결합도가 낮아짐 의존 관계 주입이란? 의존관계를 외부에서 결정하고 주입하는 것 클래스 변수를 결정하는 방법 = DI를 구현하는 방법 런타인 시점의 의존관계를 외부에서 주입하여 DI 구현 완성 DI 장점 의존성/종속성 ↓ : 변화가 있더라도 수정할 일이 적다 재사용성 ↑ :..