INFLEARN
-
[스프링입문] 6. 스프링 DB 접근 기술INFLEARN/스프링 입문 - 코드로 배우는 스프링 부트 2022. 6. 13. 23:48
6. 스프링 DB 접근 기술 [강의 정리] 김영한님 :: 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 1. H2 데이터베이스 설치 # H2 데이터베이스 개발이나 테스트 용도로 가볍고 편리한 DB, 웹 화면 제공 https://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, but also available as native executable JDBC and (p..
-
[스프링입문] 4. 스프링 빈과 의존관계INFLEARN/스프링 입문 - 코드로 배우는 스프링 부트 2022. 6. 13. 23:47
4. 스프링 빈과 의존관계 [강의 정리] 김영한님 :: 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 1. 컴포넌트 스캔과 자동 의존관계 설정 # 컨트롤러에 의존관계 추가 @Controller : 스프링이 자동으로 스프링 빈으로 등록 @Component 애노테이션이 있어서 컴포넌트 스캔 대상이 됨 @Autowired : 스프링이 연관된 객체를 스프링 컨테이너에서 찾아서 스프링이 넣어줌 DI (Dependency Injection , 의존성 주입) : 이렇게 객체 의존관계를 외부에서 주입 해주는 것 # 스프링 빈을 등록하는 2가지 방법 컴포넌트 스캔과 자동 의존관계 설정 @Controller, @Service (@Component) @Autowired 자바 코드로 직접 스프링 ..
-
[스프링 입문] 3. 회원 관리 예제 - 백엔드 개발INFLEARN/스프링 입문 - 코드로 배우는 스프링 부트 2022. 6. 13. 23:47
3. 회원 관리 예제 - 백엔드 개발 [강의 정리] 김영한님 :: 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 1. 비즈니스 요구사항 정리 # 일반적인 웹 애플리케이션 계층 구조 컨트롤러 : 웹 MVC의 컨트롤러 역할 서비스 : 핵심 비즈니스 로직 구현 리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인 : 비즈니스 도메인 객체 # 테스트 케이스 작성 JUnit 이라는 프레임워크로 테스트를 실행 경로 : src/test/java 하위 폴더 @Test given when then @AfterEach : 한 번에 여러 테스트를 실행하면 메모리 DB에 직전 테스트 결과 남을 수 있어서, 각 테스트가 종료될때마다 콜백되서 메로리 DB에 저장된 데이터를 c..
-
[스프링입문] 2. 스프링 웹 개발 기초INFLEARN/스프링 입문 - 코드로 배우는 스프링 부트 2022. 6. 13. 23:46
2. 스프링 웹 개발 기초 [강의 정리] 김영한님 :: 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 1. MVC와 템플릿 엔진 MVC : Model, View, Controller # Controller 비즈니스 로직에 집중 model은 view로 넘겨줌 @GetMapping("hello-mvc") public String helloMvc(@RequestParam(value = "name") String name, Model model) { model.addAttribute("name", name); return "hello-template"; } # View resources/templage/hello-template.html 화면을 그리는데 집중 hello! empty ..
-
[스프링입문] 1. 프로젝트 환경설정INFLEARN/스프링 입문 - 코드로 배우는 스프링 부트 2022. 6. 13. 23:46
1. 프로젝트 환경설정 [강의 정리] 김영한님 :: 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 1. 프로젝트 생성 # 준비물 Java 11 IDE (IntelliJ or Eclipse) # 스프링 부트 스타터 https://start.spring.io/ Project : Gradle Project - 요즘 추세가 Maven에서 Gradle로 넘어옴 Language : Java Spring Boot : 2.7.x - SNAPSHOT은 테스트 중 Project Metadata Group : hello - 큰 틀, 회사, 그룹, 조직 artificatId : hello-spring - 각각의 기능, 산출물 Packaging : Jar Java : 11 Dependencies: S..
-
[JPA 기본편] 1. JPA 소개INFLEARN/JPA 프로그래밍 - 기본편 2021. 11. 5. 18:09
1. JPA 소개 [강의 정리] 김영한님 :: 자바 ORM 표준 JPA 프로그래밍 - 기본편 1. SQL 중심적인 개발의 문제점 # 무한 반복, 지루한 코드 CRUD ... 자바 객체를 SQL로 ... SQL을 자바 객체로 ... => SQL 의존적인 개발 # 패러다임의 불일치 (객체 vs 관계형 데이터베이스) 객체를 영구 보관하는 다양한 저장소 (RDB, NoSQL, File, OODB) 현실적인 대안은 객체를 관계형 데이터베이스에 저장하는 것 # 객체와 관계형 데이터베이스의 차이 상속 DB에 저장해야할 객체에 상속 관계를 쓴다면, 각각의 테이블에 따른 조인 SQL을 생성하고 또 각각의 객체를 생성하는 등등 너무 복잡한 프로세스를 갖고 있어서 DB에 저장할 객체에는 상속 관계를 쓰지 않음 하지만, 자바..
-
[스프링 MVC 1] 7. 스프링 MVC - 웹 페이지 만들기INFLEARN/스프링 MVC 1편 2021. 11. 5. 17:45
7. 스프링 MVC - 웹 페이지 만들기 [강의 정리] 김영한님 :: 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 1. 프로젝트 생성 # 프로젝트 생성 Packaging은 Jar로 # Welcome 페이지 스프링 부트에서 Jar를 사용하기 위해 /resources/static 위치에 index.html파일을 두었음 스프링 부트가 Welcome 페이지로 처리해줌 2. 요구사항 분석 # 서비스 제공 흐름 상품 목록, 상세, 등록, 수정 3. 상품 도메인 개발 # Item - 상품 객체 핵심 도메인 같은 경우 @Data 사용하는거 위험할 수 있어서 @Getter, @Setter 등으로 분리하는게 좋음 # ItemRepository - 상품 저장소 public Item save(Item item) publ..
-
[스프링 MVC 1] 6. 스프링 MVC - 기본 기능INFLEARN/스프링 MVC 1편 2021. 11. 5. 17:45
6. 스프링 MVC - 기본 기능 [강의 정리] 김영한님 :: 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 1. 프로젝트 생성 # 프로젝트 생성 Packaging은 Jar로 선택 더 이상 JSP를 사용하지 않으므로 앞으로 스프링 부트를 사용하면 이 방식 주로 사용 Jar를 사용하면 항상 내장 서버(톰캣 등)를 사용, 최적화 되어 있음 webapp 경로 사용하지 않음 +) War는 내장 서버도 가능하지만, 주로 외부 서버 배포 목적 # Welcome 페이지 스프링 부트에서 Jar를 사용하기 위해 /resources/static 위치에 index.html파일을 두었음 스프링 부트가 Welcome 페이지로 처리해줌 2. 로깅 간단히 알아보기 # 로깅 라이브러리 스프링 부트 라이브러리를 사용하면 기본적으로..
-
[스프링 MVC 1] 5. 스프링 MVC - 구조 이해INFLEARN/스프링 MVC 1편 2021. 10. 27. 00:08
5. 스프링 MVC - 구조 이해 [강의 정리] 김영한님 :: 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 1. 스프링 MVC 전체 구조 # Spring MVC 구조 지금까지 직접 구현해본 프레임워크와 스프링 MVC를 비교하면 거의 유사 FrontController -> DispatcherServlet ViewResolver와 View는 인터페이스로 제공됨 # DispatcherServlet 구조 살펴보기 org.springframework.web.servlet.DispatcherServlet 스프링 MVC도 프론트 컨트롤러 패턴으로 구현 즉, 디스패처 서블릿(Dispatcher Servlet)이 스프링 MVC의 프론트 컨트롤러 DispatcherServlet도 부모 클래스에서 HttpServlet..
-
[스프링 MVC 1] 4. MVC 프레임워크 만들기INFLEARN/스프링 MVC 1편 2021. 10. 23. 00:25
4. MVC 프레임워크 만들기 [강의 정리] 김영한님 :: 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 1. 프론트 컨트롤러 패턴 소개 # 프론트 컨트롤러 도입 전/후 프론트 컨트롤러 도입 전 : 클라이언트에서 요청이 들어왔을 때 controller를 바로 호출 (공통 로직은 각각의 Controller에서 알아서 처리) 프론트 컨트롤러 도입 후 : 클라이언트에서 요청이 들어왔을 때 먼저 Front Controller (공통 로직을 처리)에서 받은 후 Front Controller에서 Controller를 호출 # FrontController 패턴 특징 프론트 컨트롤러 서블릿 하나로 클라이언트의 요청을 받음 프론트 컨트롤러가 요청에 맞는 컨트롤러를 찾아서 호출 공통 로직을 프론트 컨트롤러에서 처리 프..