본문 바로가기

Spring19

[SpringBoot] application.properties를 yml로 교체하기 이 글은 다음 목적을 가지고 작성되었다. YAML이 무엇인지 알아본다. 스프링에서 YAML을 어떻게 활용할 수 있는지 알아본다. configuration 파일을 yml 파일로 교체해본다. YAML YAML은 YAML Ain't Markup Language 라는 의미로, 'YAML은 마크업 언어가 아니다'라는 재귀적인 의미를 가진다. 마크업 언어가 아니면 YAML은 무슨 언어라는 것일까? 일단 공식 웹페이지에 가보자. The Official YAML Web Site yaml.org 공식 웹페이지에서는 YAML을 다음과 같이 정의한다. YAML is a human friendly data serialization standard for all programming languages. 해석하자면 다음과 같다:.. 2021. 8. 31.
[SpringBoot] AOP를 활용하는 다양한 방법 https://kafcamus.tistory.com/39 [SpringBoot] 관점 지향 프로그래밍(AOP)이란? 이 글은 다음의 목적을 바탕으로 작성되었다. AOP가 무엇인지 알아본다. AOP를 활용하는 방법을 알아본다. AOP란? AOP는 관점 지향 프로그래밍(Aspect-Oriented Programming)의 약자이다. AOP는 횡단 관심사(cr kafcamus.tistory.com 저번 글에서는 다음과 같은 내용을 다루었다. AOP가 무엇인지 알아본다. Spring에서 AOP를 활용하는 방법을 알아본다. 이번 글에서는, 이에 더해 실제 AOP를 활용한 간단한 예시를 작성해보려고 한다. 커스텀 어노테이션을 구현한다. 어노테이션이 있는 메소드 실행 시, AOP를 실행한다. 결과적으로 로깅 로직을 .. 2021. 8. 30.
[SpringBoot] 관점 지향 프로그래밍(AOP)이란? 이 글은 다음의 목적을 바탕으로 작성되었다. AOP가 무엇인지 알아본다. Spring에서 AOP를 활용하는 방법을 알아본다. AOP란? AOP는 관점 지향 프로그래밍(Aspect-Oriented Programming)의 약자이다. AOP는 횡단 관심사(cross-cutting concern)의 분리를 허용해 모듈성을 증가시킨다. 이때 횡단 관심사가 무엇일까? 아래의 그림을 먼저 보자. 우리가 서버를 하나 만들고, 그 안에 여러 가지 로직들을 추가했다고 가정하자. 이때, 각각의 모듈마다 중복되는 로직이 존재한다. 예를 들자면, 로깅 로직 트랜잭션 시작/종료 로직 보안 인증 로직 설령 보안 인증을 해주는 클래스를 모듈로 분리하더라도, 각각의 서비스마다 해당 클래스를 호출하고 사용해줘야 한다. 그렇기 때문에,.. 2021. 8. 30.
@Transactional 어노테이션의 다양한 옵션 활용 본 글은 아래의 글에서 이어지는 글이다. https://kafcamus.tistory.com/30 @Transactional 어노테이션의 이해 나는 보통 서비스 코드에 @Transactional 어노테이션을 활용해준다. 그런데 사실 뜻도 잘 모르고 좋다고 그래서 쓴거라...지나고 보니 정확히 설명하기가 어려웠다. 그런고로, 해당 어노테이션의 작 kafcamus.tistory.com 앞서 @Transactional 어노테이션을 사용할 경우 어떻게 트랜잭션이 구현되는지를 간단히 다뤘다. 그런데, 막상 @Transactional 어노테이션을 써보려고 하니 Isolation이나 propagation과 같은 parameter에 대해 잘 몰라서 난감한 마음이다. 그런 이유로, 이번 글은 @Transactional .. 2021. 6. 17.
@Transactional과 Lazy Loading 본 글은 아래의 글에서 이어지는 글이다. https://kafcamus.tistory.com/30 @Transactional 어노테이션의 이해 나는 보통 서비스 코드에 @Transactional 어노테이션을 활용해준다. 그런데 사실 뜻도 잘 모르고 좋다고 그래서 쓴거라...지나고 보니 정확히 설명하기가 어려웠다. 그런고로, 해당 어노테이션의 작 kafcamus.tistory.com 앞서 @Transactional 어노테이션을 사용할 경우 어떻게 트랜잭션이 구현되는지를 간단히 다뤘다. 그런데, 이렇게 트랜잭션을 구현할 경우, 예상치 않게 문제가 생길 수 있다. 이제 어떤 문제가 발생할 수 있는지 다뤄보고, 이를 어떻게 해결할지 고민해보자. @Transactional 사용과 영속성 컨텍스트 앞선 게시물에서,.. 2021. 6. 15.
@Transactional 어노테이션의 이해 나는 보통 서비스 코드에 @Transactional 어노테이션을 활용해준다. 그런데 사실 뜻도 잘 모르고 좋다고 그래서 쓴거라...지나고 보니 정확히 설명하기가 어려웠다. 그런고로, 해당 어노테이션의 작동 원리부터 사용 예까지 조금 정리해보려고 한다. 내가 이해하려고 쓴 글인지라 많이 엉성하다. 이해가 가지 않거나 빠진 내용이 보이거나 한다면, 꼭 댓글 부탁드립니다. 트랜잭션이란? 데이터베이스 트랜잭션은 데이터베이스 관리 시스템 또는 유사한 시스템에서 상호작용의 단위이다. 여기서 단위라는 말을 사용했는데, 쉽게 말하면 더 이상 쪼개질 수 없는 최소의 연산이라는 의미가 된다. 예를 들어보자. 만약 내가 쇼핑 앱을 켜서 상품을 구매하려고 한다. 그런데 내가 결제를 하는 짧은 시간 사이에 아래와 같은 일이 벌.. 2021. 6. 15.
반응형