Computer Engineering/Spring 4

스프링 빈과 의존 관계

생성자에 @Autowired가 있으면 스프링이 연관된 객체를 스프링 컨테이너에서 찾아 넣어줌 이렇게 객체 의존 관계를 외부에서 넣어주는 것을 DI(Dependency injection), 의존성 주입이라고 함 DI에는 필드 주입, setter 주입, 생성자 주입이 있음 @Autowired를 통한 DI는 스프링이 관리하는 객체에서만 동 스프링 빈을 등록하는 방법 1. 컴포넌트 스캔과 자동 의존관계 설정 2. 자바 코드로 직접 스프링 빈 등록 컴포넌트 스캔 원리 @Component 애노테이션이 있으면 스프링 빈으로 자동 등록됨 @Controller 컨트롤러가 스프링 빈으로 자동 등록된 이유도 컴포넌트 스캔 때문 @Component를 포함하는 다음 애노테이션도 스프링 빈으로 자동 등록됨 - @Controlle..

Repositiry / Service / Test

Controller: 웹 MVC의 컨트롤러 역할 Service: 핵심 비즈니스 로직 구현 Repository: 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 Domain: 비즈니스 도메인 객체 1. Entity - 데이터베이스에 쓰일 필드와 여러 엔티티간 연관관계 정의 - 테이블 전체가 엔티티, 1개의 행들이 엔티티 객체 - private Long id; // 하나의 id라는 column을 정의할 수 있음 2. Repository - 엔티티에 의해 생성된 DB에 접근하는 메서드들을 사용하기 위한 인터페이스 - 엔티티를 선언함으로써 데이터베이스 구조를 만들었다면, 여기에 어떤 값을 넣거나 넣어진 값을 조회하는 등의 CRUD(Create, Read, Update, Delete)를 해야 쓸모가 있는..

API

1) 정적컨텐츠: 파일을 그대로 웹브라우저에 내려줌 2) MVC(Model, View, Controller): 가장 많이 쓰는 방식 html을 서버에서 변형해 동적으로 내려줌 3) API: JSON이라는 데이터 구조 포맷으로 클라이언트에게 데이터 전달 (View 없음) 클라이언트와 서버의 비동기 통신 요청(request)메시지: 클라이언트에서 서버로 통신하는 메시지 응답(response)메시지: 서버에서 클라이언트로 통신하는 메시지 웹에서 화면전환(새로고침) 없이 이루어지는 동작들은 대부분 비동기 통신 -> 클라이언트에서 서버로 요청 메시지를 보낼 때, 본문에 데이터를 담아 보내야 함, 서버에서 클라이언트로 응답을 보낼 때에도 본문에 데이터를 담아서 보내야 함 -> 본문: body 즉, 요청본문 requ..

Controller와 GetMapping

Controller란? 1) 사용자의 요청이 진입하는 지점이며 2) 요청에 따라 어떤 처리를 할지 결정하고 (실질적인 처리는 서비스에서 담당) 3) 사용자에게 view를 응답으로 보내줌 Controller의 역할 처리해야 할 서비스가 많은 경우 중간 제어자 필요함 A 요청에 대한 것은 A Controller가 맡아 로직처리를 위한 서비스 호출 @GetMapping("hello") : http://localhost:8080/hello 요청이 들어오면 아래의 함수 실행 - hello 라는 view(.html)를 찾아서 반환해줌 - static: controller가 없어도 알아서 찾아 @RequestMapping("hello") : http://localhost:8080/hello 가 요청됨 @Request..