2020.04.14 처음부터, 스프링 - AutoWiring
@Autowired가 붙어있는 field가 있다면 자동으로 Component로 등록해 둔 클래스들 중에서 그 클래스를 찾은 뒤 Inject 시켜준다.
만약 Component로 등록 된 클래스가 하나라면 그 클래스만 무조건 Inject하게 된다.
클래스가 여러 개인 경우는 아직 안 배웠는데 적절히 Config 해줄 수 있는 듯 하다.
@Autowired까지 써보니까 이제 DI가 어떤 부분이 크게 다른지 느낌이 조금은 온다.
파이썬, 플라스크 같으면 Class를 선언하고, 해당 클래스를 초기화 할 때 혹은 초기화 한 뒤 필드 값을 set하는 방식을 주로 사용할 것이다.
반면에 Spring은 Bean을 미리 초기화, 조립해서 만든 뒤에 실제 코드 실행부로 넘겨준다.
Spring의 Bean은 파이썬에서 모델과 비슷하게 이해할 수 있을 것 같다.
이 방식의 장점은 매 번 필드값을 수동으로 설정하지 않더라도 쉽게 값을 set/get할 수 있다는 것과 모델의 생성 책임을 스프링이 져준다는 것인 것 같다.
만약 Component로 등록 된 클래스가 하나라면 그 클래스만 무조건 Inject하게 된다.
클래스가 여러 개인 경우는 아직 안 배웠는데 적절히 Config 해줄 수 있는 듯 하다.
@Autowired까지 써보니까 이제 DI가 어떤 부분이 크게 다른지 느낌이 조금은 온다.
파이썬, 플라스크 같으면 Class를 선언하고, 해당 클래스를 초기화 할 때 혹은 초기화 한 뒤 필드 값을 set하는 방식을 주로 사용할 것이다.
반면에 Spring은 Bean을 미리 초기화, 조립해서 만든 뒤에 실제 코드 실행부로 넘겨준다.
Spring의 Bean은 파이썬에서 모델과 비슷하게 이해할 수 있을 것 같다.
이 방식의 장점은 매 번 필드값을 수동으로 설정하지 않더라도 쉽게 값을 set/get할 수 있다는 것과 모델의 생성 책임을 스프링이 져준다는 것인 것 같다.
댓글
댓글 쓰기