chanheekim125.log
로그인
chanheekim125.log
로그인
부록 - 스프링 학습 중 궁금한 개념정리
김찬희
·
2024년 3월 24일
팔로우
0
ArrayList
JPA
Optional<T>
Spring Bean
aop
json
lambda
log
transactional
Spring
목록 보기
2/6
Log의 logback과 SLF4J
SLF4J는 Java 애플리케이션에서 로깅 기능을 추상화하는 역할을 합니다. 이는 다양한 로깅 프레임워크를 사용할 때 코드의 변경 없이 로깅 시스템을 쉽게 교체하고자 할 때 유용합니다.
로깅(logging) 기능은 애플리케이션의 실행 중에 발생하는 이벤트나 상태를 기록하는 것입니다.
Logback은 SLF4J의 구현체 중 하나로, SLF4J와 함께 사용하기 위해 설계되었습니다. Logback은 기본적으로 로깅 시스템을 제공하며, 로깅 이벤트를 기록하고, 출력할 대상을 선택하고, 로깅 이벤트의 형식을 지정할 수 있습니다.
SLF4J는 로깅 기능을 추상화하고, Logback은 이를 구현한 로깅 시스템입니다.
JSON
JSON(JavaScript Object Notation)은 데이터를 효율적으로 저장하고 교환하기 위한 경량의 데이터 형식입니다.
JSON은 객체와 배열로 데이터를 구조화하고 키-값 쌍을 사용하여 데이터를 표현합니다.
Optional< T >
Optional< T >은 Java 8에서 도입된 클래스로, 값이 존재하지 않을 수 있는 상황에서 NullPointerException을 방지하고자 만들어졌습니다.
따라서 값의 존재 여부를 확인할 때 NullPointerExcepiton을 회피하기 위해 주로 활용합니다.
Lambda
익명 함수를 간결하게 표현하는 방법입니다.
람다식은 파라미터 목록, 화살표 ->, 그리고 함수 몸체로 구성됩니다. 예를 들어, (x, y) -> x + y는 두 개의 파라미터를 더하는 함수를 나타냅니다.
ArrayList
자바 컬렉션 프레임워크에 속하는 클래스로, 크기가 가변적인 배열을 구현한 것입니다.
배열과 마찬가지로 순차적인 데이터를 저장하며, 인덱스를 사용하여 요소에 접근할 수 있습니다. 하지만 ArrayList는 크기가 동적으로 조절되므로 배열보다 유연한 특징이 있습니다.
add(), remove(), get() 메서드 등을 사용해 요소의 추가, 제거, 조회 등 다양한 연산을 지원합니다.
@AfterEach,@BeforeEach
AfterEach : 이 애너테이션은 각각의 테스트 메소드가 실행된 후에 실행할 코드를 지정합니다
@BeforeEach: 이 애너테이션은 각각의 테스트 메소드가 실행되기 전에 실행할 코드를 지정합니다.
@Transactional
트랜잭션 관리를 지원하기 위해 사용됩니다. @Transactional 어노테이션이 부착된 메서드에서 예외가 발생하면 자동으로 롤백됩니다. 이는 데이터베이스 작업이 일부 실패하더라도 전체 트랜잭션이 롤백되어 데이터 일관성을 유지하는 데 도움이 됩니다.
이는 동시에 여러가지의 테스트가 동작할때 테스트가 독립적으로 실행되는데 있어 필요한 기능입니다.
JPA
JPA(Java Persistence API)는 자바 애플리케이션에서 데이터베이스를 사용하는 방법을 표준화한 인터페이스입니다. JPA를 사용하면 객체와 관계형 데이터베이스 간의 매핑을 쉽게 처리할 수 있습니다.
EntityManager
엔터티의 영속성(persistence)을 관리하고, 엔터티 매니저 팩토리(EntityManagerFactory)를 통해 생성됩니다.
데이터베이스에서 엔터티를 조회하거나 엔터티를 데이터베이스에 저장, 수정, 삭제하는 등의 작업을 수행할 수 있습니다.
스프링 프레임워크에서는 보통
@PersistenceContext
어노테이션을 사용하여 EntityManager를 주입받습니다.
persist() 메서드
persist() 메서드는 EntityManager를 통해 엔터티를 영속 상태로 만드는 작업을 수행합니다.
영속 상태란 엔터티가 데이터베이스에 저장되었다는 것을 의미합니다. 즉, 엔터티 객체가 데이터베이스와 동기화되어 영구 저장될 수 있는 상태입니다.
persist() 메서드는 엔터티를 영속성 컨텍스트(Persistence Context)에 추가합니다. 이후 트랜잭션이 커밋될 때 영속성 컨텍스트에 있는 엔터티들이 데이터베이스에 저장됩니다.
persist() 메서드를 호출할 때에는 해당 엔터티의 식별자(ID)가 이미 존재하지 않아야 합니다. 즉, 새로운 엔터티를 추가할 때 사용됩니다.
AOP
공통 관심 사항과 핵심 관심 사항을 분리하는 방법입니다. AOP를 활용해 공통 관심 사항을 분리하여 관리할 수 있게 합니다.
Bean
Spring Framework에서의 "Bean"은 Spring 컨테이너가 관리하는 객체를 가리킵니다.
스프링 Bean을 등록하는 방법
- 컴포넌트 스캔과 자동 의존관계 설정
- @Component 를 포함하는 @Controller,@Service,@Repository도 스프링 빈으로 자동으로 등록됩니다.
-자바코드로 직접 스프링 Bean 등록하기
김찬희
팔로우
이전 포스트
스프링 핵심원리1
다음 포스트
Annotation
0개의 댓글
댓글 작성