Spring/spring 3

[스프링] 의존성 주입

1. 개념 어떤 서비스를 개발한다고 생각해보자. 특정 서비스에는 다양한 기능들이 있고, 다양한 기능을 개발하기 위해서는 다양한 클래스가 필요하다. 기능 별로(로그인, 회원가입, 글 작성 등) 클래스가 분류될 것이고, 그 기능 안에서 service, controller, repository, entity 등 세부 기능으로 또 클래스가 분류된다. 이렇듯 우리는 스프링으로 서비스를 개발할 때 아주아주 다양한 클래스를 접하게 된다. 나는 앞으로 class 하나 하나를 컴포넌트라고 이야기 하려고 한다. 예를 들어 회원가입 기능을 생각해보자. 이를 위해서는 controller, service, repository, passwordEncoder 등의 컴포넌트가 필요하다. controller는 service컴포넌트가 ..

Spring/spring 2023.04.07

[스프링] controller 관련 어노테이션

1. @RestController 1) 개념 컨트롤러에서 뷰 대신 데이터를 반환하려면 @ResponseBody 어노테이션을 사용해서 json형태로 데이터를 반환할 수 있는데 @ResponseBody와 @Controller를 합쳐놓은 어노테이션 2. @RequestMapping 1) 개념 http request로 들어오는 url을 특정 controller 클래스나 메소드로 연결시키는 역할을 한다. 2) 속성 path url 지정 3. @PostMapping 1) 개념 POST 요청을 받아들여서 데이터를 작성 2) 속성 path url 지정 4. @RequestBody 1) 개념 http요청의 본문(body-json형태)이 객체로 변환되어서 매핑된 메소드 파라미터로 전달된다.

Spring/spring 2023.02.22

[스프링] service 관련 어노테이션

1. @Service 에 의해 스프링 빈으로 등록 2. @Transactional 어노테이션이 붙어 있는 클래스나 메소드에 트랜잭션을 적용, 외부에서 이 클래스의 메소드를 호출할 때 트랜잭션을 시작하고 메소드를 종료할 때 트랜잭션을 커밋한다. 만약 예외가 발생하면 트랜잭션을 롤백한다 3. @Autowired 스프링 컨테이너가 적절한 스프링 빈을 주입해준다

Spring/spring 2023.02.22