IoC 컨테이너 개발자 대신 컨테이너가 인스턴스 제어권을 가지고, 인스턴스 생명주기를 관리하며, 생성된 인스턴스에 추가적인 기능을 제공하는 것 즉, 프로그램의 제어 흐름이 개발자에서 컨테이너로 역전된 것임 일반적인 프로그램 흐름 (main에서 사용할 객체를 생성하는
Bean 스프링 IoC 컨테이너가 관리하는 객체를 뜻함 장점 의존성 관리에 용이함 기본적으로 싱글톤으로 등록됨 > 싱글톤 객체를 하나만 등록한다는 뜻 스프링 컨테이너는 Bean을 싱글톤으로 등록함으로써 Bean을 재사용하여 메모리를 절약함 Bean 등록 1. @
DI 컨테이너가 객체 간의 의존 관계를 Bean 설정 정보를 바탕으로 외부에서 주입하는 것 즉, 객체를 외부에서 생성하여 주입하는 것 > 클래스 내에서 객체 생성 Car 객체가 생성될 때 Engine 객체도 함께 만들어짐. 즉, Engine 객체가 Car 클래스 내
AOP 어플리케이션 전체를 관통하는 공통 모듈을 효과적으로 만드는 개발 방법 로직을 핵심적인 관점, 부가적인 관점으로 분리하여 모듈화 함 > 핵심 기능 vs 부가 기능 핵심적인 관점: 핵심 비즈니스 로직 > 부가적인 관점: 트랜잭션, 로깅, 파일 입출력, 시간 측
웹 개발 3가지 방법 정적 컨텐츠: 정적 페이지를 띄어주는 것 MVC, 템플릿: 서버에서 jsp 등의 html을 동적 페이지로 띄어주는 것 API: json으로 클라이언트에게 데이터를 전달하는 것 MVC 디자인 패턴 어플리케이션을 Model, View, Contr
Spring MVC Spring Framework에서 지원하는 MVC 디자인 패턴 Dispatcher Servlet(Front Controller)을 제공함으로써 모든 요청을 핸들링하고, 공통 작업(요청한 URL에 맞는 컨트롤러 매핑)을 처리하도록 함 구성요소 Di
템플릿 엔진 지정된 템플릿 양식에 데이터를 합쳐 HTML 문서를 출력하는 SW View Code(HTML)와 Data Logic Code(DB Connection)을 분리함 서버 사이드 템플릿 엔진 서버에서 작동되는 템플릿 서버에서 HTML 문서를 만들고 클라이언트
Spring Security Spring 기반의 어플리케이션에서 보안(인증, 인가)을 처리하는 Spring 하위 프레임워크 1) 인증: 로그인 처리 2) 인가: 로그인 한 사용자 별 권한에 따른 처리 Spring Security 인증 과정 > 0. 목적 Security 인증 과정의 목적은 SecurityContext에 Authentication ...
Spring Security는 인증 및 인가 처리를 위해 다양한 필터를 연쇄적으로 실행한다.Security 5.7 미만에서는 WebSecurityConfigurerAdapter을 상속했지만, 5.7 이상부터는 SecurityFilterChain 빈을 직접 등록해야 한다
JWT (Json Web Token) 웹에서 사용되는 Json 형식의 토큰 RFC 7519 웹 표준 자가 수용적으로 사용자 정보를 안전성 있게 전달함 > #### 자가 수용적 (self-contained) 자가 수용적: 필요한 것을 수행하기 위해 내가 가지고 있는 것으로 만족한다. 즉, 다른 것 필요 없이 JWT만으로 로직을 진행할 수 있다는 뜻이다. ...
OAuth 2.0 (Open Authorization 2.0) 웹이나 어플리케이션에서 사용자에게 권한을 부여하는 개방형 표준 프로토콜 제3의 서비스(우리 서비스)가 사용자 리소스에 접근하기 위한 절차를 정의하고, 사용자에게 제3의 서비스를 사용할 수 있는 권한을 부여한
디자인 패턴 자주 사용하는 설계 형태를 정형화하여 이를 유형별로 설계 템플릿을 만든 것이다. 코드 구현 과정에서 자주 발생하는 문제들을 해결하기에 편리하다. 디자인 패턴 분류 GoF는 23개의 디자인 패턴을 3개로 분류하였다. > 1) 생성 패턴 클래스 정의, 객
JPA (Java Persistence API) Java로 RDBMS에 접근하기 위해 필요한 기능을 제공하는 ORM 기술이다. JPA는 POJO를 기반으로 작동한다. 따라서 객체지향 프로그래밍의 장점을 살리면서 데이터베이스 작업을 수행할 수 있다는 장점이 있다. JPA는 표준 인터페이스로서 이를 실제 사용하기 위해서는 구현체가 필요하다. 대표적인 구현...
Persistence Context 영속성 컨텍스트란 엔티티를 관리하는 환경을 뜻한다. 엔티티 객체를 데이터베이스와 연결하여 객체의 생명주기를 관리한다. EntityManagerFactory EntityManager을 생성하는 인터페이스이다. 일반적인 웹 애플리케이션 시작 시 한 번 생성되며, 다수의 EntityManager 인스턴스가 이를 공유하...