스프링

· 스프링
연관관계 매핑 연관관계 매핑 종류와 방향 OneToOne : 일대일 OneToMany : 일대다 ManyToOne : 다대일 MantToMany : 다대다 DB에서는 두 테이블의 연관관계를 설정하면 외래키를 통해 서로 조인해서 참조하는 구조로 생성되지만 JPA를 사용하는 개체지향 모델링에선 엔티티 간 참조 방향을 설정할 수 있다. DB와 관계를 일치시키기 위해 양방향으로 설정해도 무관하지만 비지니스 로직의 관점에서 봤을 때 단방향 관계만 설정해도 해결되는 경우가 많다. 단방향 : 두 엔티티의 관계에서 한쪽의 엔티티만 참조하는 형식 양방향 : 두 엔티티의 관계에서 각 엔티티가 서로의 엔티티를 참조하는 형식 연관관계가 설정되면 한 테이블에서 다른 테이블의 기본값을 외래키로 갖게 되는데 이런 관계에서는 주인이..
· 스프링
GET API GET API는 웹 애플리케이션 서버에서 값을 가져올 때 사용하는 API이다. @RestController @RequestMapping @RestController @RequestMapping("/api/v1/get-api") public class GetController { } @RestController는 @Controller에 @ResponseBody가 결합된 어노테이션이다. RestController를 붙이면 컨트롤러 클래스 하위 메서드에 @ResponseBody를 붙이지 않아도 문자열과 JSON등을 전송할 수 있다. 클래스 수준에서 @RequestMapping를 설정하면 내부에 선언한 메서드의 URL 리소스 앞에 @RequestMapping의 값이 공통으로 추가된다.(localh..
· 스프링
서버 간 통신 사용자가 블로그 기능을 사용하기 위해 로그인 서비스를 거쳐야만 하는 상황이 있는데 이 상황에서의 통신을 '서버 간 통신'이라고 한다. 서버 간 통신은 한 서버가 다른 서버에 통신을 요청하는 것을 의미하며, 한 대는 서버, 다른 한 대는 클라이언트가 되는 구조이다. 다양한 통신 방식이 적용 가능 하지만 가장 많이 사용하는 통신 방식은 HTTP/HTTPS 방식이다. 스프링 부트의 동작 방식 스프링 부트에서 spring-boot-starter-web 모듈을 사용하면 기본적으로 톰캣을 사용하는 스프링 MVC구조를 기반으로 동작한다. 서블릿은 서블릿 컨테이너에서 관리하고 서블릿 컨테이너는 서블릿 인스턴스를 생성하고 관리하는 역할을 수행하는 주체로서 톰캣은 WAS의 역할과 서블릿 컨테이너의 역할을 수..
· 스프링
제어 역전(IoC; Inversion of Control) 일반적인 자바 개발은 사용하려는 객체를 선언하고 해당 객체의 의존성을 생성한 후 객체에서 제공하는 기능을 사용한다. 객체를 생성하고 사용하는 일련의 작업을 개발자가 직접 제어하는 구조이다. 하지만 제어 역전을 적용한 스프링의 경우 사용할 객체를 직접 생성하지 않고 객체의 생명주기 관리를 외부에 위임한다. (제어 역전이란 객체의 관리를 컨테이너에 맡겨 제어권이 넘어간 것) 여기서 외부는 스프링 컨테이너 또는 IoC컨테이너를 의미하고 제어 역전을 통해 의존성 주입, 관점지향 프로그래밍등이 가능해진다. 스프링을 사용하면 객체의 제어권을 컨테이너로 넘기기 때문에 비지니스 로직을 작성하는 것에 더 집중할 수 있다. 의존성 주입 의존성 주입이란 제어 역전의..
백수왕
'스프링' 카테고리의 글 목록 (2 Page)