본문 바로가기

Di

[Spring] DI - 빈 주입하기 With Kotlin Spring에서는 빈을 주입하는 방법은 세가지가 있다. Field Setter Constructor Field 우선 첫번째 방법으로는@Autowired 어노테이션을 이용하여 주입하는 방법이다. @Service class UserService { @Autowired private lateinit var userRepository: UserRepository ... // Business Logic } Constructor 다른 방법으로는 생성자에 주입할 객체를 파라미터로 작성하는 방법이다. @Service class UserService(private val userRepository: UserRepository) { ... // Business Logic } 위의 UserService 클래스처럼 생성자가 .. 더보기
[Spring] IoC, DI 란? 스프링하면 가장 먼저 떠오르는 단어는 IoC/DI 일 것이다. IoC란 Inversion of Control의 줄임말로 한글로 번역하면 제어의 역전이라는 말이다. "제어의 역전" 이라는 의미는 말 그대로 메소드나 객체의 호출작업을 개발자가 결정하는 것이 아니라, 외부에서 결정되는 것을 의미한다. 제어의 역전 개념은 이미 폭넓게 적용되어 있다. 일반적으로 자바 프로그램은 main() 메소드에서 시작해서 개발자가 미리 정한 순서를 따라 객체가 생성되고 실행된다. 그런데 서블릿을 생각해보자. 서블릿을 개발해서 서버에 배포할 수는 있지만, 배포하고 나서는 개발자가 직접 제어할 수 있는 방법은 없다. 대신 서블릿에 대한 제어 권한을 가진 컨테이너가 적절한 시점에 서블릿 클래스의 객체를 만들고 그 안의 메소드를 호.. 더보기