Spring Boot

Spring

스프링 시큐리티 - Method Security

1. 개요 스프링 시큐리티는 method level에서도 접근 제어가 가능하며 Service layer 에서의 보안을 강제할 수 있다. `@PreAuthorize` `@PostAuthroize` `@PreFilter` `@PostFilter` @Configuration @EnableMethodSecurity(prePostEnabled = true, securedEnabled = true) public class MethodSecurityConfig { } 2. 사용 - Spring AOP 이용하여 동작하며, 다음과 같이 사용할 수 있다. @Service public class MyCustomerService { @PreAuthorize("hasAuthority('permission:read')") @Po..

Spring

@Transactional Annotation 정리

0. 트랜잭션이란 ? 트랜잭션이란 DB의 상태를 변환시키는 논리적 단위나 일련의 연산을 말합니다. 하나의 트랜잭션은 반드시 Commit 되거나 Rollback 되어야 합니다. 트랜잭션의 성질 (ACID 특징) 원자성(Atomicity) : 트랜잭션 연산은 DB에 모두 반영되던지 혹은 전혀 반영되지 않아야 한다. 일관성(Consistency) : 트랜잭션 성공 후에는 일관성 있는 DB로 변한다. 독립성(Isolation) : 하나의 트랜잭션 실행에 다른 트랜잭션 연산이 끼어들 수 없다. 영속성(Durability) : 트랜잭션 성공 후에는 영구적으로 반영되어야 한다. 트랜잭션의 격리 수준 - 격리수준은 아래로 갈 수록 더 높아진다. READ UNCOMMITED : 아직 commit 되지 않은 데이터에 대해..

Spring

빈 등록 어노테이션 @Configuration, @Component, @Bean에 대해서

스프링 빈을 등록하는 방법으로 @Configuration, @Component, @Bean이 있습니다. 이러한 어노테이션에 대해서 알아보겠습니다. 1. @Configuration 어노테이션 빈을 수동으로 등록하기 위해서 @Bean 어노테이션을 사용합니다. 보통 수동으로 여러 개 등록하는 경우 @Configuration 어노테이션과 함께 사용합니다. 메소드 이름을 갖고 빈 이름이 결정되기 때문에 중복된 이름으로 빈을 생성하지 않도록 주의합니다. @Bean 어노테이션은 수동으로 등록해 주어야 하는데, 특히 개발자가 직접 제어 불가능한 라이브러리를 활용하고자 할 때 사용합니다. 1개의 객체만 생성하여 여러 클래스가 사용함으로써 메모리를 아낄 수 있다는 장점이 있습니다. 동작방식 1. @Configuration..

AWS

[Redis 2/3] Spring Boot에서 AWS (RedisTemplate, RedisRepository) 사용하기

Spring Boot에서 Redis를 사용해보겠습니다. 1. build.gradle에 Spring-Data-Redis 의존성 추가 Spring-Data-Redis - 여러가지 Redis 드라이버(Jedis, Lettuce 등등)를 추상화하여 사용합니다. - RedisTemplate를 이용하여 Redis 작업, 직렬화 작업 등의 여러 작업을 지원합니다. Maven Project(pom.xml) org.springframework.boot spring-boot-starter-data-redis Gralde Project(build.gradle) dependencies { // spring redis implementation 'org.springframework.boot:spring-boot-starter-..

AWS

rest api로 spring boot + S3 버킷 이미지 업로드

뷰, AWS S3 SDK를 이용했던 방식에서 이번에는 Rest api로 구현해 보았습니다. 본 글은 S3가 만들어져 있다는 가정 하에 작성하였습니다. 만일 S3 버킷이 없으시다면 맨 아래 블로그 링크 참고하시길 바랍니다. 1. 접근키를 받기 위해 IAM 설정으로 이동합니다. 2. 사용자를 추가합니다. 3. "프로그래밍 방식 액세스" 클릭 4. 정책을 연결합니다. - S3와 관련된 접근권한이 필요하므로 "'AmazonS3FullAccess"를 선택합니다. 5. IAM 태그를 추가합니다. - name의 키밸류를 설정했습니다. 6. 정상 구성되었는지 확인합니다. 7. 액세스키 ID와 비밀 액세스 키를 따로 복사 해 둡니다. 8. 설정값 지정 후 코드를 작성할 차례입니다. build.gradle dependen..

mers
'Spring Boot' 태그의 글 목록