웹서버(예.Apache)
- 클라이언트가 웹 브라우저에서 어떠한 페이지 요청을 하면 웹 서버에서 그 요청을 받아 정적 컨텐츠를 제공하는 서버
WAS(Tomcat)
- 웹 서버와 웹 컨테이너가 합쳐진 형태로, 웹 서버 단독으로는 처리할 수 없는 데이터베이스의 조회나 다양한 로직 처리가 필요한 동적 컨텐츠를 제공한다.
WAS는 JSP,Servlet 구동환경을 제공해주기 때문에 웹 컨테이너,서블릿 컨테이너라고도 불린다.
컨테이너란? JSP,Servlet을 실행시킬 수 있는 소프트웨어
참고자료 : https://codechasseur.tistory.com/25
@RestController
public class NoDIController {
// 개발자가 직접 객체를 관리
private MyService service = new MyServiceImpl();
// 객체 관리를 컨테이너가 제어함
@GetMapping("/no-di/hello")
public String getHello() {
return service.getHello();
}
}
의존성 주입하는 어노테이션. 스프링 4.3이후 생략가능!
- 생성자를 통한 의존성 주입
Myservice myService; // 공식문서 권장 방향
@Autuwired
public Di(Myservice myservice){ // Di 생성자로 객체 주입
this.myService = myservice;
}
- 필드 객체 선언을 통한 의존성 주입
@Autuwired
public Myservice myservice) // 필드로 바로 객체 주입