Spring/Spring Framework9 의존성주입 스프링 프레임워크에 의존성 주입은 3가지 정도 로 정리할수 있습니다 생성자 기반 세터(수정자) 기반 필드 어떠한 생성자나 수정자가 없다면 필드에 리플렉션을 통해 직접주입하는 것도 가능합니다 생성자 @Controller public class Controller { public final Service service; @Autowired//클래스의 생성자가 하나이고, 그 생성자로 주입받을 객체가 빈으로 등록되어 있다면 @Autowired를 생략 할 수 있습니다. public Controller(Service service) { this.service = service; } } 생성자에 @Autowired를 붙여 의존성을 주입받을수 있습니다 Spring4.3이후로는 클래스 내 생성자가 하나이고, 그 생성자로.. 2023. 2. 27. @Controller와 @RestController +@GetMapping Controller 사용자의 요청을 처리하고 스프링 MVC 패턴 중 View에 객체를 넘겨주는 역할 을 합니다 대규모 서비스일수록 처리해야할 서비스가 많아지면서 중간 제어자 역할을 할 Controller가 생겻고 스프링 MVC 중 핵심은 View와 Model의 작업을 분리시키기 위 해 MVC 패턴에서 사용하고 있는 Controller입니다 프로토콜 처리를 하고 View에서 오는 특정 데이터 형식을 컨트롤러에서 바꿔서 모델로 전송을 시켜줍니다. @Controller @RequiredArgsConstructor public class UserController { private final UserService userService; @GetMapping(value = "/users") public @Resp.. 2023. 2. 19. 스프링 빈(Spring Bean) 스프링 빈 이란? 스프링 빈은 spring ioc 컨테이너가 관리하는 자바 객체를 빈(bean)이라고 합니다 스프링 빈이 있기전엔 java 에서 new 를 입력하거나 새로운 Class를 생성해서 new를 입력해서 원하는 객체를 직접 입력하여 관리 했습니다 코드가 지저분해지는 단점이 있었습니다. ApplicationContext 스프링 컨테이너 입니다. 기존에 AppConfing를 생성해 구성영역을 직접 작성하여 객체 생성을 하여 의존관계를 스프링 컨테이너를 통해 사용하는것을 말합니다 스프링 컨테이너는 @Configuration이 붙은 AppConfig를 설정 정보로 사용합니다. 등록할때는 @Bean이 붙은 메서드를 호출해 반환된 객체를 스프링 컨테이너에 등록합니다. ApplicationContext.ge.. 2023. 2. 18. 스프링 강한 결합, 느슨한 결합 강하게 연관되게GameRunner 와 MarioGame을 구현 package com.in28minutes.learnspringframework.game; public class GameRunner { private MarioGame game;// GameRunner 와 MarioGame 의 강한 결합을 가진것 public GameRunner(MarioGame game) { this.game=game; } public void runGame() { game.up(); game.down(); game.left(); game.right(); } } /*마리오 클래스를 만드는 데에 집중 해보자 마리오 게임을 만들고 게임기로 실행해볼 거다. 강한 결합의 개념을 이해하기 위해 이 예시를 만들어 봤습니다. */ 마리.. 2023. 2. 17. 이전 1 2 3 다음