IoC/DI와 POJO의 관계
747
11 asked
안녕하세요! 스프링 공부 하다가 스프링이 추구하는 철학에 대해 궁금한 부분이 생겨 질문드립니다.
스프링 3대 철학은 IoC/DI, AOP, PSA이고 이 세가지 철학을 통해 궁극적으로 POJO와 같은 특정 서비스에 의존하지 않는 클래스를 만들어내는 것을 추구한다고 이해하고 있습니다.
다시 말해 3가지 개념을 잘 적용하면서 따라가다보면, 그 결과로써 POJO 클래스를 얻을 수 있다고 생각됩니다.
여기서 질문은, AOP나 PSA의 경우에는 클래스로부터 부가로직을 걷어내고 특정 기술을 추상화함으로써 클래스에 비즈니스 로직만을 남겨두기 때문에, POJO를 만드는 것과의 연결성이 직관적으로 이해가 되는데 반해, IoC/DI는 어떠한 역할을 하기에 POJO를 생성하는데 도움이 되는 것인지 그 연결성이 잘 이해가 되지 않습니다.
스프링의 IoC 컨테이너를 통해 많은 객체들의 라이프사이클 및 의존관계를 용이하게 설정할 수 있다는 장점은 떠오르지만, 이것이 어째서 POJO를 만드는 것인지 아무리 생각하고 찾아봐도 잘 이해가 안 되는 것 같습니다.
어떠한 부분에서 IoC/DI라는 개념이 POJO로 연결된다고 생각할 수 있을까요?
Answer 2
3
3대 "철학"이 아니라 세가지 "주요 기능" 정도로 이해하시면 좋겠네요. IoC 컨테이너의 도움 없이 싱글톤 패턴을 모든 객체에 적용하려면 복잡한 코드가 많이 들어가게 될텐데 스프링이 제공하는 IoC/DI 기능 덕분에 그럴 필요없이 클래스가 원래 하려던 일과 관련된 코드만 있는 상태에서도 객체를 싱글톤으로 만들어 쓰거나 의존성 주입을 할 수 있으니 IoC/DI도 POJO에 일조한다고 생각할 수 있습니다.
BeanFactory와 ApplicationContext 중 사용하고 싶은 컨테이너를 설정 할 수 있나요?
0
378
1
프로젝트 생성에 관련한 질문
0
374
1
안녕하세요 강의 내용을 듣다가 궁금점이 생겨 글을 남기게 되었습니다.
0
371
1
HttpServeltRequest 객체의 빈 스코프에 대해 질문 드립니다.
0
304
0
PropertyEditor non thread-safe 한 이유
0
490
1
빈의 초기화 시점이 궁금합니다.
0
393
1
이 강의 예제소스 없나요?
0
345
1
릴로딩 기능에 대해
0
404
1
Bean 을 특정 Application...Event 발생 후, 등록하는 방법이 궁금합니다
0
611
3
기선님 RetentionPolicy에 대해서 질문이 있습니다.
0
291
1
안녕하세요 기선님!
3
486
3
비동기적으로 실행할때
0
313
2
"Prototype/프록시"로 설정했는데 동일한 객체로 나옵니다
0
529
4
@Autowired 로 가져오는 Bean은 ?
2
280
1
Type-Safety 의미
0
537
1
Null Point
0
318
1
WebDataBinder를 특별히 쓰는 이유가 있나요?
0
383
1
안녕하세요?
0
335
2
애노테이션이 없습니다(?)
0
275
3
코드 중 변수 앞에 적는 것이 무엇인지 알고 싶습니다.
0
291
2
강의 하시면서 사용하는 resolving 이란 단어는 어떤 의미인가요?
1
1495
1
IOC컨테이너관련 질문입니다
0
240
3
인터페이스가 있는 경우 인터페이스 타입으로 주입하는 추가 질문입니다.
0
256
1
백기선님 , 강좌 순서 때문에 고민드립니다.
0
458
4

