POJO (Plain Old Java Object) 말 그대로 "오래된 방식의 간단한 자바 객체" 이다. POJO 간단하게 말해서 필드와 Getter, Setter와 같은 기본 기능만을 갖는 기본 객체를 의미한다. 자세히는 특정 "기술"에 종속되 있는 상태로 개발하지 않는 개념을 위해 등장한 언어이다. 종속성으로 인해 시스템 업그레이드, 모듈 교체와 같은 상황에서 많은 불편함이 있었기에 POJO라는 개념이 탄생했다. (특정 기술 == Framework) 아마 자바 스프링 개발자이기에 해당 내용이 궁금할 것이다. Spring이 POJO개념을 잘 지킨 프레임워크이기 때문이다. IOC, DI, AOP 와 같은 개념들이 모두 결합력을 느슨하게 하여 의존성을 낮춤으로써 종속성이 낮아지는 현상이 발생한다. 즉, 위..
세가지 Annotation 모두 목적은 똑같다. controller, service, repository의 어노테이션은 모두 컴포넌트 스캔이 가능하게 만드는 수단입니다. 여기서 말하는 컴포넌트 스캔이란 @Component 와 연관이 있는데 해당 어노테이션이 붙으면 스프링이 어노테이션을 분석하고 자동으로 Bean클래스를 생성 해줍니다. Spring 에 대해서 공부해보신 분들은 잘 아시겠지만, MVC패턴과 DI & IOC 개념이 잘 녹아든 프레임워크이죠. 이 세가지 어노테이션 모두 앞서 말한 패턴과 개념이랑 연관이 있습니다. MVC패턴 처리 과정을 살펴보면 이해하기 쉬울겁니다. 클라이언트가 서버에 페이지를 요청한다. Dispatcher Servlet은 사용자의 요청에 알맞는 @Controller를 찾는다. ..
결론부터 보자면 모두 DI를 위한 어노테이션이며, 동작순서의 차이와 자바 진영에서 지원하는건지 스프링에서 지원하는건지에 대한 차이가 있다. (물론 DI가될 객체를 어떤 기준으로 찾는지 또한 조금씩 다르다) - Sample Code @Autowired // 타입 기준 private Wolf dog; // Wolf 타입으로 연결 @Resource // 이름 기준 private Wolf cat; // Cat 타입으로 연결 @Inject // 타입 기준 private Wolf rabbit; // Wolf 타입으로 연결 @Autowired - Bean 타입을 통해서 주입할 Bean 객체를 찾는다. 만약 타입으로 연결이 안된다면 이름을 통해 찾는다. - Field, Method, Constructor 에 사용할 수..