SpringBoot


☰ Index 도입Spring BeanSpring Bean 이란?Spring Bean 의 특징Spring ContainerSpring Container 란 ?Spring Container 동작 방식Spring Bean 등록 방법글을 마치며 도입자주 사용하는 Spring Container 에 대해서 알아보려고 한다.여태 SpringBoot 를 사용하면서, 정리한 적이 없어 정리를 해보려고 한다.Spring BeanSpring Bean 이란?Spring Bean 이라는 특별한 이름을 가지고 있지만, 결국자바 인스턴스를 말한다. 굳이 Spring Bean 이라고 차별화를 둔 이유는특정 객체를 프레임워크 ( Sprin..


☰ Index 들어가기 전에@Transactional@Transactional 는 어떻게 동작하는가 ?@Transactional 동작 순서@Transactional 사용 시 주의해야할 점글을 마치며 들어가기 전에SpringBoot 를 사용하여 데이터 베이스를 연결할 때, 사용하던@Transactional 어노테이션이 있다. 해당 어노테이션이 어떻게 동작하는지Spring AOP 를 사용해서 작동하는 것으로 간략히 알고 있다.그래서 이번에 조금 제대로 알아 보려고 한다.@TransactionalSpring Framework에서 하나의 작업 단위를 트랜잭션으로 묶어주는 어노테이션이다.데이터베이스의 ..


API Gateway? Spring Cloud GateWay 공식 사이트에서 Spring Cloud GateWay 치면 나오는 화면을 캡쳐한 것이다. 간단하게 첫줄만 요약하면 API GateWay 를 구축하기 위해서 제공되는 Spring webFlux 나 Spring WebMVC 기반의 프로젝트 라고 한다. 쉽게 말하면 API GateWay 라는 모듈을 구축하기 위해서 Spring 에서 제공하는 컴포넌트 정도로 보면 될 것 같은데. API Gate가 무엇인지 잘 모르니 이것부터 알아보자 API Gateway?? 쉽게 설명해 달라고 가스라이팅 했는데, 말을 놔버린 챗지비티다. 싸가지가 없다. 예의없는 인공지능을 뒤로하고 여러 가지 문서를 찾아보고 내가 내린 API GateWay 를 사용하는 가장 큰 이유는..


REFERENCE 들어가기 전에 Spring Eureka 에 대한 이해를 기반으로 한 실습해 본 것 입니다. 이쁘게 봐주세요 Eureka Server | Develop Environment java version : 17 springboot : 3.2.2 Eureka Server | dependency - netflix-eureka-server ( 해당 dependency 만 필요 ) - lombok dependencies { implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-server' compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.project..


들어가기 전에 Spring Eureka 에 대한 이해를 위해 작성한 글입니다. 이쁘게 봐주세요 Service Discovery & Service Registry 필요성 MSA 의 장점 중 하나가 부하량에 따라 인스턴스 개수를 동적으로 조절할 수 있다는 점이다. 덕분에 MSA 의 마이크로 서비스들의 인스턴스의 개수가 가변적이고 그에 따라 각각의 서비스들의 위치 파악이 힘들다. 효과적인 마이크로 서비스들의 관리 및 운영을 위해 필요한 것이 서비스 디스커버리와 서비스 레지스트리이다. Service Discovery 서비스 디스커버리는 MSA 에서 마이크로 서비스들의 위치를 찾기 위한 매커니즘이다. 즉 방법 같은 거다. - 클라이언트가 서비스 레지스트리를 조회 - 특정 프로토콜을 이용 클라이언트 어플리케이션이 ..


내가 JPA 강의를 보고 작성한 VELOG 시리즈 영속성 컨텍스트를 통해 데이터를 관리하기 위해서는 엔티티 객체의 영속화가 필요하며, 엔티티의 생명주기를 관리해야한다. 이를 위해서 entityManager 에 있는 메소드 들에 대해서 알아보자 flush flush : 영속성 컨텍스트의 내용들을 데이터베이스화 동기화 하기 위해 사용하는 메소드 쓰기 지연 큐에 있는 쿼리들을 적용하여 동기화를 도와주는 메소드이다. commit 메소드 호출 시 자동으로 호출 된다. clear clear : 영속성 컨텍스트를 초기화 하는 메소드 persist persist : 비영속 상태의 엔티티를 영속화 하는 메소드 일반적으로 새로 생성한 엔티티 객체를 영속화 할 때 사용하는 메소드 이다. Spring DATA JPA 에서 R..


내가 JPA 강의를 보고 작성한 VELOG 시리즈 목표 이전 까지 영속성 컨텍스트를 이해하기 위해 필요한 PesistenceUnit, EntityManager, EntityMangerFactory 에 대해서 알아봤다. 이번에는 영속성 컨텍스트 내부의 1차 Cache, 쓰기 지연 큐에 대해서 알아보자 쓰기 지연 큐 하이버 네이트의 쓰기지연 사실 JPA 에서는 쓰기지연을 구현하지 않는다. 하지만 JPA 구현체 중 하이버네이트에서 쓰기 지연을 구현하고 있고, 하이버네이트 구현체를 사용하고 있기 때문에 쓰기 지연 기능이 가능한 것이다. 엔티티가 영속화가 되면 영속화 된 엔티티의 정보가 쓰기 지연 큐 에 엔티티 쿼리 정보가 등록이 된다. 이후 특정 이벤트 발생 전까지 엔티티의 상태가 변경되면 변경 내용을 쓰기 지..


내가 JPA 강의를 보고 작성한 VELOG 시리즈 목표 지난 번에 영속성 컨텍스트에 대해서 알아봤다. 영속성 컨텍스트는 데이터베이스의 테이블을 관리하기 위해서 엔티티라는 객체를 사용하여 데이터 조작을 한다. 엔티티의 생명 주기에 대한 이해를 통해 작동 원리에 대한 이해를 높여 보자 엔터티의 생명 주기 4 가지 비영속 ( new / Transient ) - 순수한 객체 상태이며, @Entity 로 선언된 객체 인스턴스 이며 영속성 컨텍스트에 등록되지 않은 상태 Member newMember = new Member(); 영속 ( Managed ) - @Entity 로 선언된 객체를 영속성 컨텍스트에서 관리하는 상태를 말한다. - 관리되는 상태에서 JPA 의 여러가지 API 를 사용할 수 있게 된다. - 영속..