Java/Spring
-
[Spring] @Transactional 속성 정리Java/Spring 2019. 9. 6. 01:01
트랜잭션의 ACID 성질 원자성 (Atomicity) : 트랜잭션 내에서 실행한 작업들은 모두 성공하거나, 모두 실패해야 합니다. 일관성 (Consistency) : 트랜잭션이 수행되고 나서도 데이터 베이스는 일관성 있게 유지되어야 합니다. 격리성 (Isolation) : 트랜잭션을 수행하는 중에 다른 트랜잭션이 연산에 끼어들지 못하도록 격리되어야 합니다. 지속성 (Durability) :트랜잭션이 성공적으로 수행되면 그 내용이 영구적으로 반영되어야 합니다. 트랜잭션의 격리 수준 (Isolation Level) 1. DEFAULT 데이터 베이스에서 설정된 기본 격리 수준을 따릅니다. 2. READ_UNCOMMITED 트랜잭션이 아직 커밋되지 않은 데이터를 읽을 수 있습니다. 예를 들어 A라는 트랜잭션에서..
-
JWT 에 대한 간단 정리Java/Spring 2019. 8. 4. 22:58
JWT 가 뭐하는 놈이지?? JWT는 JSON Web Token 의 약자로써, 가볍고(compact) 자체적으로 필요한 정보를 담는(self-contained) 방법으로 두 개체간에 JSON 객체를 안전하게 전송하기 위한 개방형 표준(RFC 7519)입니다. JWT는 작은 크기 덕분에 URL 파라미터나 HTTP Header에 담아서 빠르게 전송할 수 있습니다. JWT의 구조중 하나인 PayLoad 에는 데이터 베이스에 두 번 이상 쿼리할 필요가 없도록, 유저에 대해 필요한 정보를 담을 수 있습니다. JWT 는 언제 사용하면 좋을까요?? Authenticatio (인증) : 가장 일반적으로 JWT를 사용하는 경우입니다. 유저가 한 번 로그인하고 나면 사용자의 정보를 담은 토큰을 발급합니다. 이후의 요청에 ..
-
Spring AOP PointCut 표현식 정리Java/Spring 2019. 7. 21. 13:47
지난 번에 이어서 Advice가 어떤 JoinPoint에 사용될 것인지를 지정하는 PointCut 표현식을 정리하겠습니다. 포인트컷에는 다양한 명시자를 이용할 수 있습니다. execution Advice를 적용할 메서드를 명시할 때 사용합니다. within 특정 타입에 속하는 메서드를 JoinPoint로 설정되도록 명시할 때 사용합니다. bean 스프링 버전 2.5 버전부터 지원하기 시작했으며, 스프링 빈을 이용하여 JoinPoint를 설정합니다. execution 명시자 execution([수식어] 리턴타입 [클래스이름].이름(파라미터) 수식어 : public, private 등 수식어를 명시합니다. (생략 가능) 리턴타입 : 리턴 타입을 명시합니다. 클래스이름 및 이름 : 클래스이름과 메서드 이름을 ..
-
맨날 까먹는 AOP 정리Java/Spring 2019. 7. 20. 01:57
AOP 는 Aspect-Oriented Programming 의 약자입니다. AOP 로 로직상에서 문제를 해결하고자 하는 핵심 기능과 공통 기능을 분리하는 프로그래밍 방법입니다. AOP 의 주요 키워드 Target 공통 기능을 부여할 대상입니다. 즉, 핵심 기능을 담당하는 비즈니스 로직이고, 어떤 관심사들과도 관계를 맺지 않습니다. Aspect 여러 핵심 기능에 적용될 관심사 모듈입니다. Aspect 에는 구체적인 기능을 구현한 Advice 와 Advice 가 어디에서 적용될지를 결정하는 PointCut 을 포함하고 있습니다. Advice Advice 는 공통 기능을 담은 구현체입니다. Advice 는 Aspect 가 무엇을 언제 적용할 지를 정의합니다. PointCut PointCut 은 공통 기능이 ..