Spring Boot DB통신(2) - 스프링 컨테이너는 어떻게 JPA를 제공하는가?
JPA에서 사용되는 구성요소들과 이 구성요소들을 스프링 컨테이너는 어떻게 제공하는걸까?
JPA에서 사용되는 구성요소들과 이 구성요소들을 스프링 컨테이너는 어떻게 제공하는걸까?
JDBC와 DataSource은 왜 필요할까? 커넥션과 커넥션을 회수하는 방법
컴포넌트 스캔과 자동구성 빈들이 실제로 등록되고 객체로 만들어지는 과정을 쫒아가보자
SpringApplication 의 run 메서드는 어떤 과정을 거쳐 어플리케이션을 실행하는지 알아보자
Spring Container의 전신인 ApplcationContext는 어떤 역할과 책임을 가지는지 살펴보자
main함수 실행 후 SpringApplication이 생성되는 과정을 소스코드와 함께 살펴보자
테스트의 목적은 설계를 검증하기 위함이다. 어떠한 목적을 이루기 위한 비즈니스 로직을 설계하고 해당 설계가 제대로된 결과값을 내는지를 검증하기 위해 이용한다. 테스트를 작성함으로써 검증 및 예상되는 문제를 미리 확인할 수 있다는 장점이 있다.
Spring boot에서 Filter를 만들기 위한 방법에는 여러가지가 존재한다. 그 중 자주 사용하는 방식은 다음과 같다. Filter 인터페이스 이용 GenericFilterBean 추상 클래스 이용 OncePerRequestFilter 추상 클래스...
Spring boot를 이용한 프로젝트 도중 WebMvc 설정에 문제가 발생하였다. WebMvcConfigurationSupport와 WebMvcConfigurer를 혼용하면서 발생한 문제였다. 가까스로 문제를 해결한 후 해당 개념에 대한 지식이 부족하다고 판단하여 이에 관한 내용...
Controller의 메서드에 파라미터로 사용하는 @RequestParam, @RequestBody 는 어떻게 동작하는 것일까? Controller의 파라미터로 클라이언트의 요청정보가 아닌 추가적인 정보를 넘길 수 있을까? 이러한 의문들을 해결하기 위해 HandlerMethodAr...
Spring Security은 인증 기능을 지원해준다. 인증방식에는 Username/Password를 이용한 방식, OAuth2.0을 이용한 방식 등 여러가지 메커니즘들이 존재하는데 Spring Security는 여러가지 인증방식에 대해 모두 지원해준다.
Spring Security는 Spring Framwork를 기반으로 한 인증과 인가, 웹 공격에 대한 방어를 위한 기술이다. Servlet Container, Webflux 기반 모두 지원한다. 이 중 Servlet Container 기반으로 Spring Security가 동작하...
Spring boot의 자동화
Spring을 이용하여 서버를 구현할 때 보통 Tomcat을 Servlet Container로 많이 이용한다. 그렇다면 Tomcat은 어떻게 클라이언트의 요청을 받아들이고 Spring 웹 어플리케이션으로 요청을 전달하게 되는걸까?
Spring이 HTTP 요청을 받아들이고 처리하는 핵심 요소인 Servlet Container란 무엇인지 알아보자.
Spring을 이용하여 만들어진 웹 어플리케이션은 어떤 과정을 거쳐 실행되고 요청을 받아들이는 걸까? Spring 웹 어플리케이션의 실행과정에 대해서 자세하게 알아보자.
익히 알고 있듯 데이터베이스는 데이터를 생성하거나 조회를 하기 위해선 insert, select 와 같은 SQL 문법을 사용해야한다. 데이터베이스에 대해 공부해본 사람들이라면 익숙하게 사용할 수 있을 것이다. 하지만 이를 프로그래밍 언어를 기반으로 하는 서버 개발에서 사용하게 된다...
스프링 프레임워크는 IoC 원칙을 구현한 IoC Container(이하 스프링 컨테이너)를 내장하고 있다. 이것은 스프링 프레임워크의 가장 중요한 개념이다. 복잡한 객체간의 관계를 관리하고 의존 객체를 생성하고 주입해주는 역할을 한다. 덕분에 객체 생성과 관리에 대한 제어권을 외부...
Spring(이하 스프링)은 Java로 웹 어플리케이션을 편하게 개발할 수 있도록 도와주는 오픈소스 프레임워크다. 스프링은 이전 기술들과 비교해 웹 개발을 보다 간편하게 할 수 있어 개발 생산성을 높여준다. 이전 개발자가 작성해야했던 불필요하고 복잡한 코드들을 제거하여 비즈니스 로...
왜 스프링인가? Spring - 핵심가치(POJO) Spring - 핵심가치1(IoC/DI) Spring - 핵심가치2(AOP) Spring - 핵심가치3(PSA) Spring - 핵심가치++(Bean) ...