Language (102) 썸네일형 리스트형 JpaAuditing 사용 방법 및 예제 JpaAuditing이란 엔티티의 생성 시각, 수정 시각을 자동으로 기록해주는 것 @EnableJpaAuditing 어노테이션@SpringBootApplication(exclude = SecurityAutoConfiguration.class)@EnableJpaAuditingpublic class PlayheavenApplication { public static void main(String[] args) { SpringApplication.run(PlayheavenApplication.class, args); }}해당 어노테이션으로 Auditing 기능을 활성화 해주어야 하며, Application 클래스 또는 @Configuration을 붙인 클래스 위에 선언해주어야 함 Aud.. BeanFactory, ApplicationContext BeanFactory란Spring의 핵심 인터페이스로 [빈의 생성 / 라이프사이클 관리 / 의존성 주입] 등을 담당ApplicationContext는 BeanFactory를 상속 받아 더 많은 기능을 제공BeanFactory의 역할빈 객체의 생성과 관리XML 또는 Java 기반의 설정 메타 데이터를 읽어 빈 객체로 생성, 빈의 생명 주기 관리빈의 생성, 초기화, 소멸에 대한 관리 + 의존성 주입을 담당빈 객체의 지연 로딩빈이 실제로 요청될 때 객체를 생성 → 메모리를 효율적으로 관리 빈 객체의 설정과 프로퍼티 설정BeanFactory는 빈 객체의 설정 정보와 프로퍼티 값을 관리설정 파일(XML or Java Config)에서 빈의 정의와 프로퍼티 값을 읽어 빈 객체를 생성하고 설정 ApplicationC.. 의존성 주입(DI), 제어의 역전(IoC) IoC(Inversion of Control)제어의 역전(IoC)이란 객체의 생성 및 생명주기 관리에 대한 책임이 개발자에서 프레임워크에게 넘어가는 것Spring을 사용했을 때의 강력한 이점 중 하나가 Bean을 Spring Container에 등록을 해두고, 필요한 경우 등록된 Bean을 주입하여 자동으로 필요한 객체를 받을 수 있음개발자가 직접 객체 생성, 관리를 하지 않아도 되기 때문에 제어의 역전이라고 함 기존 방식public class A { private B b; pulbic A(){ this.b = new B();// 직접 객체를 생성하여 넣어줌 }} IoCpublic class A{ private B b; public B(B b){ this.b .. Spring Framework와 Spring Boot Framework Spring Framework란? Java 기반의 오픈소스 Backend 프레임워크 엔터프라이즈급 애플리케이션을 개발하기 위한 모든 기능을 종합적으로 제공하는 경량화된 솔루션 → 엔터프라이즈 : 대규모 데이터 처리와 트랜잭션이 동시에 여러 사용자로부터 행해지는 매우 큰 규모의 환경 Spring Framework의 특징DI(Dependency Injection) 개발자가 Spring 프레임워크에 의존성을 주입하면서 객체 간 결합을 느슨하게 하는 것 객체 간 결합이 느슨하면 코드의 재사용성 증가, 단위 테스트가 용이 IoC(Invesion of Control) 컨트롤의 제어권이 개발자에게 있는 것이 아닌 프레임워크가 대신해서 해주는 것을 의미Servlet이나 Bean 같은 코드를 개발자가 직접 작성하지.. Redis를 활용한 이중화 설정 - @EnableRedisHttpSession 이중화는 시스템의 부하를 분산하고, 단일 실패 지점(Single Point of Failure, SPOF) 없이 서비스를 지속적으로 제공하는 아키텍처를 구현하는 것을 목표로 하며 스프링 시큐리티는 이러한 이중화 환경에서 인증, 권한 부여, 세션 관리 등의 보안 기능을 제공스프링 시큐리티는 사용자 세션을 안전하게 관리하며 이중화된 환경에서 세션 정보를 공유할 수 있는 메커니즘을 제공하며 대표적으로 레디스 같은 분산 캐시를 사용하여 세션 정보를 여러 서버 간에 공유 가능레디스 세션 서버로컬 환경 (Linux 기준)대부분의 Linux 에서 apt 또는 yum을 사용하여 레디스를 설치 가능sudo apt-get install redis-server, sudo yum install redis ..설치 후 sudo.. Custom DSLs - HttpSecurity.with(AbstractHttpConfigurer) Custom DSLs - HttpSecurity.with(AbstractHttpConfigurer)Spring Security는 사용자 정의 DSL을 구현할 수 있도록 지원DSL(Domain Specific Language)을 구성하면 필터, 핸들러, 메서드, 속성 등을 한 곳에 정의하여 처리할 수 있는 편리함을 제공 AbstractHttpConfigurer사용자 DSL을 구현하기 위해서 상속 받는 추상 클래스로서 구현 클래스는 두 개의 메서드를 오버라이딩init(B builder) → HttpSecurity 의 구성요소를 설정 및 공유하는 작업 등..configure(B builder) → 공통 클래스를 구성 하거나 사용자 정의 필터를 생성하는 작업 등.. APIHttpSecurity.with(C co.. 다중 보안 설정 Spring Security는 여러 SecurityFilterChain @Bean을 등록해서 다중 보안 기능을 구성 가능@Configuration@EnableWebSecuritypublic class MultiHttpSecurityConfig { @Bean @Order(1) public SecurityFilterChain apiFilterChain(HttpSecurity http) throws Exception { http.securityMatcher("/api/**") // HttpSecurity가 /api/로 시작하는 URL 에만 적용 .authorizeHttpRequests(authorize -> authorize .anyRequest().hasRole("ADMIN")) .httpBasic.. Spring MVC 비동기 통합 - WebAsyncManagerIntergrationFilter Spring Security 는 Spring MVC Controller에서 Callable을 실행하는 비동기 스레드에 SecurityContext를 자동으로 설정하도록 지원Spring Security는 WebAsyncManager와 통합하여 SecurityContextHolder에서 사용 가능한 SecurityContext를 Callable에서 접근 가능하도록 해줌 → 기본적으로 부모 ThreadLocal과 자식 ThreadLocal은 공유가 되지 않는데, WebAsyncManager를 사용하여 부모 ↔ 자식 간의 SecurityContext를 공유할 수 있도록 함 WebAsyncManagerIntegrationFilterSecurityContext와 WebAsyncManager 사이의 통합을 제공하며 .. 이전 1 ··· 3 4 5 6 7 8 9 ··· 13 다음