스프링 부트를 기반으로 테스트 코드 작성 시 자주 등장하는 테스트 어노테이션의 사용 상황과 기능에 대해 정리하고자 합니다. @SpringBootTest 어노테이션Annotation that can be specified on a test class that runs Spring Boot Based tests. @SpringBootTest 어노테이션은 스프링 부트 기반 테스트 시에 사용하는 어노테이션이다. 다음과 같은 기능과 특징을 가지고 있습니다. 1. Uses SpringBootContextLoader as the default ContextLoader when no specific @ContextConfiguration(loader=...) is defined. 💬 특정 @ContextConfigu..
@PostConstructSpring calls the methods annotated with @PostConstruct only once, just after the initialization of bean properties. 스프링은 @PostConstruct가 붙은 메서드를 빈 속성 초기화 이후에 단 한 번 호출합니다. The method annotated with @PostConstruct can have any access level, but it can’t be static. @PostConstruct가 붙은 메서드는 static으로 선언될 수 없습니다.초기화 작업을 하므로, 정적 메서드로 선언될 수 없다.@Componentpublic class DbInit { @Autowired ..
Annotation자바 어노테이션은 MeteData를 소스 코드(class, method, field)에 붙여 Marker interface 역할을 하여, 특정 동작을 표시하는 데 사용합니다. Marker Interface란Marker Interface는 구현 클래스에 특별한 동작을 부여하거나 특정 속성을 나타내기 위해 아무 메서드도 포함하지 않는 인터페이스입니다.public interface Marker { // 아무 메서드도 정의하지 않음} 어노테이션 주의 사항@interface로 정의해야 합니다.모든 어노테이션은 기본적으로 java.lang.Annotation 인터페이스를 상속하기 때문에 다른 클래스나 인터페이스를 상속할 수 없다.Parameter 멤버들의 접근자는 public or defau..
Converter란DB에서 어떤 값을 저장할 때 전/후 처리가 필요한 경우가 있습니다.이를 Spring AttributeConverter 인터페이스를 구현하여 처리할 수 있습니다. 사용 예시로, 자바 코드에서는 성과 이름을 따로 관리하고, 데이터베이스에서는 성이름을 그대로 저장하려는 경우 어떻게 처리하는지 보겠습니다. AttributeConverterpublic interface AttributeConverter { public Y convertToDatabaseColumn (X attribute); public X convertToEntityAttribute (Y dbData);}convertToDatabaseColumn : 데이터베이스 컬럼으로 변환해주는 메서드이며, 자바 객체를 어떻게 변..