스프링에서 의존성 주입(Dependency Injection, DI)은 핵심 개념 중 하나다. 의존성 주입은 객체가 자신의 의존성, 즉 다른 객체와의 관계나 협력을 필요로 할 때, 스스로 그 의존성을 생성하거나 찾는 대신 외부에서 받아들이는 방식이다. 이를 통해 컴포넌트 간의 결합도를 낮추고, 유연성 및 재사용성을 높이며, 테스트를 용이하게 한다.
의존성 주입 : 스프링 컨테이너에서 객체 Bean을 먼저 생성한 객체를 지정한 객체에 주입하는 방식
@Controller
public class MyController {
private final MyService myService;
@Autowired
public MyController(MyService myService) {
this.myService = myService;
}
}
위 세개를 이용해서 더 간편하게 작성 가능하다.
@Controller
@RequiredArgsConstructor
public class MyController {
private final MyService myService;
}
@RequiredArgsConstructor로 필드를 포함한 생성자를 포함시켜주고 @Autowired 키워드를 생략해서 가독성을 높인다.
@Controller
public class MyController {
private MyService myService;
@Autowired
public void MyController(MyService myService) {
this.myService = myService;
}
}
@Controller
public class MyController {
@Autowired
private MyService myService;
}
이를 통해
=> 개발자는 비즈니스 로직 구현에 더 집중할 수 있게 되며, 애플리케이션의 유지보수성과 확장성이 향상된다.
[server] spring jpa에서 'ordinal' 왜 사용 안할까? (@Enumerated(EnumType.STRING) /@Enumerated(EnumType. ORDINAL) ) (0) | 2024.04.14 |
---|---|
[Spring/Java] Java record (0) | 2024.04.04 |
[객체 지향 프로그래밍] 소프트웨어 설계를 위한 다섯 가지 기본 원칙 : SOLID 원칙 (0) | 2024.04.04 |
[Java] super, super() 키워드 차이 (1) | 2024.04.04 |
[Java] final, static, static final (0) | 2024.04.04 |
댓글 영역