Spring/Spring-Basic

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

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

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

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

    [스프링 입문] 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..

    [스프링 입문] Section4. 스프링 빈과 의존관계

    컴포넌트 스캔과 자동 의존 관계 설정 화면을 붙이려면 Controller와 View template이 필요 Member Controller가 Member Service를 통해 회원가입하고 조회할 수 있어야 함 ⇒ 의존 관계가 있다 표현 == 멤버 컨트롤러가 멤버 서비스를 의존한다 /src/main/java/hello/hellospring/controller/MemberController.java 생성 MemberService를 Spring Contaioner로부터 받아 쓰도록 ⇒ 새로 생성할 필요 X, 하나만 가져와서 같이 쓰는 것이 나음 결론 : 스프링 컨테이너에 하나만 등록하여 가져다 쓰기! @Controller public class MemberController { private final Mem..

    [스프링 입문] Section3. 회원 관리 예제 - 백엔드 개발

    비즈니스 요구사항 정리 데이터 : 회원 ID, 이름 기능 : 회원 등록, 조회 아직 데이터 저장소가 선정되지 않았다는 조건 일반적인 웹 애플리케이션 계층 구조 컨트롤러 : 웹 MVC의 컨트롤러 역할 서비스 : 핵심 비즈니스 로직 구현 리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인 : 비즈니스 도메인 객체 클래스 의존관리 MemberRepository : 회원을 저장하는 곳, 인터페이스로 설계(아직 데이터 저장소가 선정되지 않아서) Memory MemberRepository : MemberRepository의 구현체, 단순 메모리로 넣다 뺐다 할 수 있게, 나중에 바꾸기 위해 인터페이스가 필요한 것 회원 도메인과 리포지토리 만들기 1. src/main/java/hello/h..

    [스프링 입문] Section2. 스프링 웹 개발 기초

    정적 컨텐츠 파일을 그대로 웹 브라우저에 전달 resources/static/hello-static.html 생성 정적 컨텐츠 입니다. 구동 방식 MVC와 템플릿 엔진 MVC : Model, View, Controller Model : 화면에 필요한 것만 담 View : 화면을 그리는 데에 집중 Controller : 비즈니스 로직 같은 내부적인 것에 집중 HelloController.java에 추가 @RequestParam : 외부에서 파라미터를 받을 것 @GetMapping("hello-mvc") public String helloMvc(@RequestParam("name") String name, Model model) { model.addAttribute("name", name); return "..

    [스프링 입문] Section1. 프로젝트 환경설정

    첫 단추를 잘 끼우자 ..! 프로젝트 생성 사전 준비물 : Java11, IDE(InteliJ) 설치 스프링 부트 스타터 → 스프링 프로젝트 생성 : Spring Initializr Maven, Gradle : 필요한 라이브러리를 가져오고 빌드하는 라이프 사이클까지 관리하는 툴, 요즘 추세는 Gradle Group : 기업 도메인명 Artifact : 프로젝트 Dependencies : 어떤 라이브러리를 가져와 쓸지 선택 Thymeleaf : html을 만들어주는 템플릿 엔진 3. Generate하여 IntelliJ에서 build.gradle 파일을 프로젝트로 open 더보기 Error 그 사이에.. Error가 남 ㅋㅋ A problem occurred configuring root project 어쩌..

    [스프링 입문] Section0. 강의 소개

    서식.. 충전 ㅎㅎ 간단한 웹 애플리케이션 개발 스프링 프로젝트 생성 스프링 부트로 웹 서버 실행 회원 도메인 개발 웹 MVC 개발 DB 연동 - JDBC, JPA, 스프링 데이터 JPA 테스트 케이스 작성 끝 .. + 직접 코딩하고 전반적인 그림을 머릿속에 그리라 하심 + 요즘은 웹으로 개발하기 때문에 중요함 파이팅