Application/Spring Framework
[스프링 인 액션 정리] 4장. 스프링 시큐리티
4-1. 스프링 시큐리티 활성화하기 스프링 애플리케이션에서 스프링 시큐리티를 사용하기 위해서는 스프링 부트 스타터 시큐리티 의존성을 빌드 명세에 추가해야 한다. org.springframework.boot spring-boot-starter-security org.springframework.security spring-security-test test 의존성을 추가하면 스프링 애플리케이션이 시작되면 스프링이 우리 프로젝트의 classpath에 있는 스프링 시큐리티 라이브러리를 찾아 기본적인 보안 구성을 설정해 준다. 기본적인 보안 구성 (security starter를 프로젝트 빌드 파일에 추가했을 경우) 모든 HTTP 요청 경로는 인증되어야 한다. 어떤 특정 역할이나 권한이 없다. 로그인 페이지가 따..
[스프링 인 액션 정리] 3장. 데이터로 작업하기
3.1 JDBC를 사용해서 데이터 읽고 쓰기 스프링의 JDBC 지원은 JdbcTemplate 클래스에 기반을 둠. JDBCTemplate은 JDBC를 사용할 때 요구되는 모든 형식적이고 상투적인 코드없이 개발자가 관계형 데이터베이스에 대한 SQL 연산을 수행할 수 있는 방법을 제공. JDBCTemplate을 사용하지 않고 데이터베이스 쿼리하면 데이터베이스 Connection 생성, 명령문 생성, 연결과 명령문 및 결과 세트를 닫고 클린업 하는 코드들로 쿼리 코드가 둘러싸여 복잡. JDBCTemplate 및 H2 데이터베이스 의존성 추가 우리 프로젝트의 classpath에 추가 => 스프링 부트의 JDBC starter의 의존성을 빌드 명세에 추가하면 간단. ... 1.4.196 ... org.spring..
[스프링 인 액션 정리] 1. 스프링 시작
1-1. 스프링이란? 스프링 프레임워크는 Spring Application Context라는 컨테이너를 제공. 이 컨테이너에서 애플리케이션 컴포넌트(Bean)들을 생성하고 관리한다. 이때 Bean의 상호 연결은 DI(의존성 주입) 패턴을 기반으로 수행된다. DI (Dependency Injection) 객체를 직접 생성해서 사용하지 않고, 의존을 주입 받아 사용하는 방법. B 객체를 A 객체에서 직접 생성하는 경우 public class A { private B b = new B(); // 객체를 직접 생성 // main public static void main(String[] args) { A a = new A(); } } 외부에서 생성된 B객체를 생성자를 통해 의존 관계를 주입하는 경우 => DI ..
[Spring] 생성자 주입을 사용해야 하는 이유
의존성 주입 방법의 종류 먼저 스프링에서 의존성을 주입하는 방법은 다음과 같이 3가지 방법이 있습니다. 생성자 주입 (Constructor-based dependency injection) Setter 주입 (Setter-based dependency injection) 필드 주입 (Field-based dependency injection) 이 중에서, 생성자 주입 사용이 가장 추천 되는 이유 1. final 선언이 가능합니다 (immutable) 생성자 주입 시, 의존성 주입이 클래스 인스턴스화 중에 시작되므로 final 선언을 할 수 있다. 따라서 객체를 변경이 불가능한 immutable(불변) 하게 할 수 있습니다. 반면에, 필드 주입 혹은 Setter 주입의 경우 final 선언을 할 수 없어,..