본문 바로가기
반응형

전체 글82

스프링 인 액션 - (2) chapter 4 시프링 시큐리티 public class SecurityConfig extends WebSecurityConfigurerAdpater { // WebSecurityConfigurerAdpater 상속 후 메소드들을 override 하여 스프링 시큐리티 세부 설정을 커스터마이징 할 수있다. // configure(HttpSecurity http) -> 웹 요청 보안 처리 // configure(AuthenticationManagerBuiler auth) -> 유저 스토어 설정 } 웹 요청 보안 처리 http 요청 처리를 허용하기 전에 인가확인 로그인 페이지 url 설정 로그아웃 url 설정 csrf 공격 방어 설정 유저 스토어 설정 inmemory : 메모리에 인증/인가 정보 저장 DB :.. 2022. 8. 10.
스프링 인 액션 - (1) 스프링 인 액션 part 1. 스프링 기초 chaper 1 스프링 시작하기 1.1 스프링이란? 스프링은 스프링 애플리케이션 컨텍스트라는 컨테이너를 제공, 이것은 빈/컴포넌트를 생성하고 관리한다. 빈끼리의 상호 연결은 의존성 주입(DI) 패턴을 기반으로 수행, 특정 빈이 의존하는 다른 빈의 생성과 관리를 컨테이너가 대신 해준다. 빈 등록의 역사? xml 빈 선언, 의존성 주입 annotation 빈 선언 + xml component-scan 스프링 부트에선 annotation 빈 선언 + 자동 component-scan 1.2 스프링 애플리케이션 초기 설정 스프링 부트 프로잭트 생성법 https://start.spring.io Initializer 사용 IDE에서 생성 (Intellij 추천) 여러가지 방.. 2022. 8. 9.
스프링 핵심 원리 - (9) 의존관계 자동 주입 다양한 의존관계 주입 방법 생성자 주입 생성자가 1개만 있으면 @Autowired 생략가능 생성자를 통해 의존관계를 주입 특징 생성자 호출시점에 딱 1번만 호출되는 것이 보장된다. 불변/필수 의존관계에 사용 수정자 주입(setter) 수정자 메서드(setter)를 통해 의존관계를 주입 옵션처리를 통해 주입할 대상 없어도 동작가능 특징 선택/변경 가능성이 있는 의존관계에 사용 필드 주입 (비추) 필드에 바로 주입 특징 코드가 간결. 단, 외부에서 변경이 불가능해서 테스트 힘들다. (스프링 없이 단위 테스트 불가능) DI 프레임워크가 없으면 아무것도 못한다. 설정 목적인 @Configuration 같은 곳, 테스트코드에서만 사용 일반 메서드 주입 생서자가 아닌 일반 메서드를 통해 주입 특.. 2022. 8. 9.
스프링 핵심 원리 - (8) 싱글톤 컨테이너 웹 어플리케이션과 싱글톤 스프링은 엔터프라이즈 환경을 위해 탄생 보통 웹 어플리케이션 여러 요청이 인입 순수한 DI 컨테이너 public class SingletonTest { @Test @DisplayName("스프링 없는 순수한 DI 컨테이너") void pureContainer() { AppConfig appConfig = new AppConfig(); //1. 조회: 호출할 때 마다 객체를 생성 MemberService memberService1 = appConfig.memberService(); //2. 조회: 호출할 때 마다 객체를 생성 MemberService memberService2 = appConfig.memberService(); //참조값이 다른 것을 확인 Syste.. 2022. 8. 5.
728x90
반응형