전체 게시물
-
[Spring] 서블릿(Servlet)과 스프링(Spring)의 차이점legacy/Spring 2024. 7. 3. 14:10
스프링 컨테이너와 서블릿 컨테이어는 다른 목적으로 사용된다.스프링 컨테이너 : 애플리케이션의 비즈니스 로직을 관리하고, 객체의 생명주기와 의존성 관리를 담당한다.서블릿 컨테이너 : 웹 요청과 응답(HTTP 프로토콜)을 처리하는 데 집중한다.스프링 컨테이너는 IoC(Inversion of Control, 제어의 역전)을 기반으로 애플리케이션의 객체를 관리한다. IoC란 프로그램을 개발자가 아닌 프레임워크에 의해 관리되는 것을 의미한다. 서블릿 컨테이너는 웹 서버와 통신을 하여 HTTP 요청을 받고, 서블릿을 사용하여 요청을 처리한 응답을 클라이언트로 전송한다. 1. 스프링 컨테이너스프링 컨테이너는 애플리케이션을 실행시키기 위해 객체(빈) 생성, 초기화, 의존성 주입 등을 담당한다. 이는 개발자가 쉽게 객체..
-
[Spring] 서블릿 필터와 스프링 인터셉터legacy/Spring 2024. 7. 2. 14:31
웹 컨테이너란?웹 컨테이너는 서블릿과 JSP 등 웹 애플리케이션을 실행시키기 위한 환경을 제공한다. HTTP 요청을 처리하기 위한 기능을 제공하고, 대표적인 웹 컨테이너로 Apache Tomcat, Jetty, GlassFish 등이 있다.역할서블릿 생명 주기서블릿 생성, 초기화, 요청 처리, 소멸클라이언트 요청 및 응답 처리HTTP 요청을 서블릿으로 전달하고, 서블릿으로부터 응답을 전달받아 클라이언트로 전달한다. 1. Servlet Filter클라이언트의 요청이 Dispatcher Servlet으로 전달되기 전, url 패턴에 맞는 요청을 먼저 받아 처리한다.사진에서 알 수 있듯이 Servlet Filter는 Spring 영역에 존재하는 것이 아니다. 서블릿 필터를 사용하기 위해서는 아래의 Filter..
-
[JPA] @Modifying 벌크 연산legacy/JPA 2024. 7. 1. 00:58
벌크 연산이란?벌크 연산이란 DB에서 UPDATE, DELETE 시에 대량의 데이터를 한 번에 처리하기 위한 작업이다.JPA에서 벌크 연산이란 데이터 하나하나를 변경하는 것이 아닌, 여러 데이터에 한 번에 변경 쿼리를 날리는 것이다. @Modifying 애너테이션이란?@Modfying 애너테이션은 Spring Data JPA에서 데이터 변경 쿼리(INSERT, UPDATE, DELETE)를 사용할 때 사용된다. 주로 @Query 애너테이션을 사용하여 정의한 JPQL 또는 네이티브 쿼리가 INSERT, UPDATE, DELETE를 포함하는 경우 @Modifying을 함께 사용한다. 아래 코드는 오류가 발생하는 코드이다. 위에서 말했듯이 @Query를 사용하여 데이터 변경을 시도하면 @Modifying 애너..
-
[Spring] 스프링 빈 생명 주기 (Spring Bean Life Cycle)legacy/Spring 2024. 6. 30. 17:53
애플리케이션 실행스프링 컨테이너 생성애플리케이션이 시작되면서 스프링 컨테이너가 생성된다. 스프링 컨테이너는 스프링 빈을 생성 및 관리한다.스프링 빈 등록스프링 빈은 기본적으로 싱글톤으로 생성되어 스프링 컨테이너에 등록된다.각 Bean의 인스턴스를 하나만 생성하고, 이를 모든 요청에 대해서 공유한다.@Configuration : 설정 클래스에 @Bean으로 등록된 객체를 스프링 빈으로 등록한다.@ComponentScan : @Component를 사용한 클래스를 스프링 빈으로 등록한다.의존성 주입생성된 빈들 간에 의존성을 주입한다. 필드 주입, 수정자 주입, 생성자 주입 방식이 사용된다.초기화 콜백추가적인 초기화 작업이 수행된다.ex. DB 연결 작업, 초기 데이터 로드@PostConstruct가 붙은 메서..
-
[Spring] 서블릿과 스프링의 차이점과 상호작용legacy/Spring 2024. 6. 30. 01:30
스프링 컨테이너와 서블릿 컨테이어는 다른 목적으로 사용된다.스프링 컨테이너 : 애플리케이션의 비즈니스 로직을 관리하고, 객체의 생명주기와 의존성 관리를 담당서블릿 컨테이너 : 웹 요청과 응답(HTTP 프로토콜)을 처리하는 데 집중스프링 컨테이너는 IoC(Inversion of Control, 제어의 역전)을 기반으로 애플리케이션의 객체를 관리한다. IoC란 프로그램을 개발자가 아닌 프레임워크에 의해 관리되는 것을 의미한다.서블릿 컨테이너는 웹 서버와 통신을 하여 HTTP 요청을 받고, 서블릿을 사용하여 요청을 처리한 응답을 클라이언트로 전송한다. 스프링 컨테이너스프링 컨테이너는 애플리케이션을 실행시키기 위해 객체(빈) 생성, 초기화, 의존성 주입 등을 담당한다. 이는 개발자가 쉽게 객체 간의 의존성을 관..
-
[Database] RDBMS vs NoSQLlegacy/Database 2024. 6. 28. 16:41
데이터베이스 : 컴퓨터에 전자 방식으로 구조화된 정보를 저장DBMS : 사용자와 데이터베이스 사이에 사용자의 요구에 따라 정보를 생성 및 관리하는 소프트웨어SQL : 관계형 데이터베이스에서 데이터를 관리하기 위한 프로그래밍 언어 1. RDBMSR(Relational, 관계) + DBMS = RDBMSRDBMS는 SQL을 사용하여 데이터를 저장한다. 데이터는 테이블 형태로 저장되며, 다른 테이블과의 관계를 통해 데이터를 관리한다. 이를 통해 데이터 정합성을 유지할 수 있다. 서로 다른 테이블 간의 관계를 맺기 위해 외래키(foreign key)를 사용하며, 이 외래키를 통해 테이블 간 조인이 가능하다. RDBMS 특징테이블 형태로 데이터를 저장한다.SQL(Structured Query Language) 언..