본문 바로가기

스프링4

스프링부트에서 톰캣이 어떻게 자동으로 설정되어 실행되는가 스프링부트를 이용하면 내장 서블릿 컨테이너인 톰캣이 기본적으로 내장되어 있다. 근데 여기서 어떻게 톰캣이 자동으로 설정되어 기본 서버로서의 역할을 하는지 궁금하여 알아본 내용을 정리한다. 스프링부트에서 톰캣이 어떻게 자동으로 설정되어 실행되는가 서블릿 컨텐이너 - 톰캣 스프링부트에서 스프링 웹을 사용하게 되면 프로젝트에는 톰캣이 기본적으로 내장되어 있다. 근데 여기서 톰캣이 어떻게 자동으로 설정되어 기본 서버로 실행이 되는 것일까? 이것을 알기위해서는 먼저 스프링부트에서 빈을 어떻게 설정하는지 알아야한다. 스프링부트에서 빈은 두번의 단계를 거쳐서 생성된다. 첫번째로 @ComponentScan 하위 패키지에서 @Component, @Service, @Controller 등의 컴포넌트를 먼저 스캔해서 빈을 .. 2023. 1. 16.
자바 ORM 표준 JPA 프로그래밍 - JPA 정리하기 (12) 스프링 데이터 JPA 자바 ORM 표준 JPA 프로그래밍 - JPA 정리하기 (12) 스프링 데이터 JPA 12.1 스프링 데이터 JPA 소개 스프링 데이터 JPA는 스프링 프레임워크에서 JPA를 편리하게 사용할 수 있도록 지원하는 프로젝트 데이터 접근 계층을 개발할 때 구현 클래스 없이 인터페이스만 작성해도 기본적인 CRUD 개발 완료할 수 있음 리포지토리 인터페이스의 구현체는 애플리케이션 실행 시점에 스프링 데이터 JPA가 생성해서 주입해준다. 12.1.1 스프링 데이터 프로젝트 스프링 데이터 프로젝트는 JPA, 몽고 디비, 레디스, 하둡 등과 같은 다양한 데이터 저장소에 대한 접근을 추상화해서 개발자 편의를 제공하고 지루하게 반복하는 데이터 접근 코드를 줄여준다. 스프링 데이터 JPA 프로젝트는 JPA에 특화된 기능을 .. 2022. 11. 6.
Spring - Event Publisher Listener (1) 정의 스프링에서 제공하는 이벤트 메커니즘을 사용하면 의존성이 강한 로직들의 레이어를 분리가 가능하다. 이렇게 되면 느슨한 결합 형태로 만들 수 있다. 예를 들어 A 서비스 로직에서 B 서비스 로직을 실행해야하는 경우 이벤트 발행을 통해 분리할 수 있는 것이다. 이때 사용하는 이벤트에 관련한 정보를 정리한다. Spring - Event Publisher Listener (1) 정의 스프링에서의 일반적 상황과 이벤트를 이용한 상황 스프링에서는 내부에 이벤트라는 메커니즘을 가지고 있다. 여기서 말하는 이벤트란 스프링의 빈과 빈 사이에 데이터를 전달하는 방법 중 하나를 의미한다. 스프링에서는 일반적으로 데이터 전달 시 DI를 통해서 이루어진다. A 클래스에서 B 클래스에 대한 의존성을 주입을 받아 A클래스에서 B에 .. 2022. 10. 19.
Spring - 서블릿과 디스패쳐서블릿 웹을 만들기 위해서 필요한 기술중에 하나인 서블릿에 대해서 정리하고, 스프링에서의 서블릿과 디스패쳐 서블릿 각각의 정의를 정리하고 차이점을 정리한다. 서블릿과 디스패쳐서블릿 서블릿? 자바를 사용하여 웹을 만들기 위해 필요한 프로그래밍 기술 요청에 대해 동적으로 처리해주는 역할로서 서버 사이드에서 작동함(WAS) HttpServlet이라는 자바의 클래스를 상속받음 서블릿 생명 주기 Servlet 객체 생성 (1회) init() 호출 (1회) service(), doGet(), doPost() 호출 (요청 시 매번) destory() 호출 (1회) 서블릿 컨테이너? 서블릿은 요청을 받거나 내보낼 때 자신이 알아서 하는 것이 아닌 서블릿을 실행시키는 주체인 서블릿 컨테이너라는 것을 이용 서블릿 컨테이너는 어떤.. 2022. 9. 4.