항해99/스프링입문 7

03-2 DI(Dependency Injection), IOC(Inversion of Control)

DI (의존성 주입)의 이해 👉 "제어의 역전 (IoC: Inversion of Control)" 프로그램의 제어 흐름이 뒤바뀜 일반적: 사용자가 자신이 필요한 객체를 생성해서 사용 IoC (제어의 역전) 용도에 맞게 필요한 객체를 그냥 가져다 사용 "DI (Dependency Injection)" 혹은 한국말로 "의존성 주입"이라고 부릅니다. 사용할 객체가 어떻게 만들어졌는지는 알 필요 없음 실생활 예제) 가위의 용도별 사용 스프링 IoC 컨테이너 👉 저희는 앞에서 DI 를 사용했을 때의 장점을 살펴 보았습니다. 스프링 IoC 컨테이너그런데 DI 를 사용하기 위해서는 객체 생성이 우선 되어야 했습니다. 과연 어디서 객체 생성을 해야 할까요? 바로 스프링 프레임워크가 필요한 객체를 생성하여 관리하는 역할..

03-1 Controller,Repository,Service

Controller 의 장점 HTTP request, response 처리를 위해 매번 작성해 줘야하는 중복코드들 생략 가능하다. API 이름마다 파일을 만들 필요 없음 Controller Code API 마다 파일을 만들 필요 없음 보통 하나의 Contoller 에 모든 API 를 넣지는 않음 유사한 성격의 API 를 하나의 Controller 로 관리 함수 이름도 내 마음대로 설정 가능~!!! (단, 클래스 내의 중복함수명 불가) Controller 가 자동으로 해주는 일 1. API Request 의 파라미터 값에서 검색어 추출 -> query 변수 5. API Response 보내기 5.1) response 의 header 설정 5.2) response 의 body 설정 H2 웹콘솔 설정 src ..

03. 기본 CRUD API 구현 - Level 3

https://developers.naver.com/products/intro/plan/plan.md 네이버 오픈 API 목록 - INTRO 네이버 오픈 API 목록 NAVER Developers - API 소개 네이버 오픈API 목록 및 안내입니다. 네이버 오픈 API 목록 API명 설명 호출제한 검색 네이버 블로그, 이미지, 웹, 뉴스, 백과사전, 책, 카페, 지식iN 등 검 developers.naver.com 네이버 검색>쇼핑API주소 https://developers.naver.com/docs/serviceapi/search/shopping/shopping.md#%EC%87%BC%ED%95%91 검색 > 쇼핑 - Search API 검색 > 쇼핑 쇼핑 검색 개요 개요 검색 API와 쇼핑 검색 개..

02. 기본 CRUD API 구현 - Level 2

메모 변경과 삭제의 return값이 Long인 이유는 데이터 찾을 때 id값으로 찾아서 하기 때문에 return값도 id의 데이터 형식인 Long으로 @NoArgsConstructor // 기본생성자를 만듭니다. @Getter @Entity // 테이블과 연계됨을 스프링에게 알려줍니다. public class Memo extends Timestamped { // 생성,수정 시간을 자동으로 만들어줍니다. @GeneratedValue(strategy = GenerationType.AUTO) @Id private Long id; @Column(nullable = false) private String username; @Column(nullable = false) private String contents; ..

02. 기본 CRUD API 구현 - Level 1

Lombok 소개 👉 코드 절약하기! Lombok(이하 롬복)은, 자바 프로젝트를 진행하는데 거의 필수적으로 필요한 메소드/생성자 등을 자동생성해줌으로써 코드를 절약할 수 있도록 도와주는 라이브러리입니다. @Getter : get 메소드 생성 @Setter : set 메소드 생성 @AllArgsConstructor : 전체 멤버변수를 파라미터로 가지는 생성자 생성이외에도 다양한 기능들이 있으니 공부해보기시 바랍니다. @NoArgsConstructor : 기본 생성자 생성(파라미터가 없는 기본 생성자를 생성해주는 파라미터) @ : Annotation -----------CourseService.java @RequiredArgsConstructor @Service public class CourseServi..

01. RDBMS, SQL, JPA 기본

RDBMS, 줄여서 RDB는 관계형 데이터베이스를 말합니다. 정보 저장소라고 생각하셔도 무방한데요. (Relational DataBase Management System) 쇼핑몰이라면 주문 정보, 고객 정보 등을 컴퓨터에 저장해야 할텐데, 이걸 도와주는 녀석입니다. H2는 RDBMS의 한 종류로, 서버가 켜져있는 동안에만 작동하는 RDB입니다. SQL은 데이터를 읽고, 저장하고, 변경하고, 삭제하는 구체적인 문법입니다. (Structured Query Language) 스프링은 자바로 작동하고, 데이터베이스는 SQL로 작동합니다. 한국어와 영어 사이에는 번역기가 필요하죠? 자바를 위한 번역기, JPA 사용법을 배워봅니다. JPA(Spring Data JPA)는 스프링을 위해 태어난 녀석인데요. Java로..

00 - 인텔리제이로 Spring Boot 시작하기

2.1.1 객체지향이란? 속성은 대체로 정적인 정보를 다루며, 기능은 작업에 대한 수행을 나타냅니다. 사물이 가진 속성과 기능이 프로그래밍의 세계에서는 각각 멤버변수와 메서드(함수)에 대응되고 우리는 이 방식으로 Java의 생태계에서 사용되는 프로그램을 작성하게 되는 것입니다. 스마트폰이 실제로 만지고 사용할 수 있는 형태로 소비자에게 전달되려면 설계에 맞게 생산하는 과정을 거쳐야 합니다. 이 때 설계도 역할을 하는 것이 **클래스(Class)**, 생산된 스마트폰이 **인스턴스(Instance)** 입니다. 인스턴스는 번역에 따라 객체, 혹은 개체라고 부르기도 합니다. 2.1.3 생성자(Constructor) 생성자는 클래스로부터 인스턴스를 생성하는 메서드의 한 종류입니다. 클래스 내부에 정의하며, 메..