자바, jsp&서블릿, 스프링 공부하는데 왜 이렇게 비슷한 용어가 많은지.. ㅠㅠ 제가 생각하는 용어의 개념이 맞는지 확인해주시면 감사드리겠습니다
1.빈
1-1. 자바 빈 : 아래 나오는 VO나 DTO 처럼 멤버변수가 존재하고, 멤버변수에 접근하기 위해 getter, setter가 존재하는 형태의 자바 객체
--> 이러한 형태를 자바 빈 형태라고 한다 즉, VO나 DTO는 계층 간 값 전달을 위해 자바 빈 형태로 만들어진 객체
1-2.스프링 빈 : 스프링이 생성한 자바 인스턴스(보통은 싱글톤인스턴스 이지만, 상황에 따라 여러개 인스턴스로 사용 가능 // 어노테이션 컨트롤러, 서비스, 래파지토리, 컴포넌트, xml에서 bean으로 만드는 것 등이 해당)
--> 자바 빈하고는 형태가 다르기 때문에 이름만 빈으로 같을 뿐이지 실제로 자바 빈과 스프링 빈은 서로 다른 개념이라고 생각하고 있습니다.. 맞을까요?
1-3.POJO
--> 순수하게 자바로만 구현가능한 객체(다른 언어가 끼어들면 안됨)
2.컨테이너
2-1.서블릿 컨테이너 : 서블릿의 생명주기를 관리하는 컨테이너
2-2.스프링 IOC 컨테이너 : 스프링 빈의 생명주기를 관리하는 컨테이너
--> 컨테이너 관련해서 공통질문이 있는데요! 생명주기를 관리한다면.. 서블릿 컨테이너가 서블릿 객체를 직접 생성하고,
스프링 IOC 컨테이너가 스프링 빈 객체를 직접 생성하는 건가요?
3.모델
1-1.VO : 보통 데이터를 담는데 쓰인다. 멤버변수가 존재하고, 멤버변수에 접근하기 위해 getter, setter가 존재하는 자바 객체. DTO 보다는 DB 가까이서 사용하는 자바 객체
1-2.DTO : 보통 데이터를 담는데 쓰인다. 멤버변수가 존재하고, 멤버변수에 접근하기 위해 getter, setter가 존재하는 자바 객체. VO보다는 프론트, 컨트롤러 빈 가까이서 사용하는 자바 객체
링크 : https://changhyunit.tistory.com/10
1-3.MVC 패턴에서의 모델 : 저는 이게 VO나 DTO 말하는건줄 알았는데.. 자바 로직부분을 모델이라고 한다고 하네요?
그럼 실무에서는 Service단을 모델이라고 하는지....
링크 : https://coding-factory.tistory.com/69
4. 기타 스프링 용어
4-1. 의존성 주입 : 의존 객체가 필요할 때, 직접 의존 객체를 생성하지 않고, 스프링 IOC 컨테이너가 가지고 있는 인스턴스를 주입받는 형태