1. 스프링을 사용할 경우
@SpringBootApplication
public class MainApp {
public static void main(String[] args) {
SpringApplication.run(MainApp.class, args);
}
}
@RestController
public class SignUpController {
private final UserRepositoryService userRepositoryService;
@Autowired
public SignUpController(UserRepositoryService userRepositoryService) {
this.userRepositoryService = userRepositoryService;
}
}
2. 스프링을 사용하지 않을 경우
public class App {
public static void main(String[] args) {
UserRepository userRepository = new UserRepositoryImpl(); // 개발자가 직접 객체 생성
UserRepositoryService userRepositoryService = new UserRepositoryServiceImpl(userRepository); // 개발자가 직접 의존성 주입
SignUpController signUpController = new SignUpController(userRepositoryService); // 개발자가 직접 의존성 주입
}
}
이처럼 스프링 컨테이너가 알아서 의존성을 관리하고 주입해주기 때문에, 개발자는 이에 신경쓸 필요가 없어서
비즈니스 로직에만 집중할 수 있다.
'Spring' 카테고리의 다른 글
Spring - WebMvcConfigurer Interface (1) | 2023.12.08 |
---|---|
세션을 통한 사용자 인증 구현시 로그아웃 처리에 대해 (0) | 2023.10.05 |
Spring Boot + React : 서버의 URL과 리액트 앱 URL을 구분하여 처리하기 (React 앱의 엔트리 포인트 설정방법) (2) | 2023.10.02 |
AOP란 무엇인가? (0) | 2023.09.11 |
Spring에서 Bean이 관리되는 방법 (0) | 2023.09.02 |