Spring
[Spring]@DataJpaTest, @SpringBootTest 차이
[Spring]@DataJpaTest, @SpringBootTest 차이
2024.08.28@DataJpaTest란?JPA관련 구성 요소에 초점을 맞춘 데이터 액세스 계층 테스트특징Application의 JPA에 필요한 Bean을 로드@Repository 어노테이션을 가진 Bean들을 자동 스캔빠른 테스트 실행 속도데이터 액세스 레이어에 집중하여 구체적인 테스트 가능in-memory embedded DB 사용 가능- @TypeExcludeFiltersApplication 컨텍스트가 생성되는 동안 특정 타입의 빈을 제외시키는 역할을 합니다.DataJpaTypeExcludeFilter를 통해 JPA외의 @Controller, @Service, @Component 등과 같은 어노테이션이 달린 클래스를 컴포넌트 스캔 대상에서 제외시키는 동작을 수행합니다. - @AutoConfigureDataJpa테스..
[Spring]@DataJpaTest를 이용한 테스트코드 작성 deleteAll? deleteAllInBatch?
[Spring]@DataJpaTest를 이용한 테스트코드 작성 deleteAll? deleteAllInBatch?
2024.08.26@DataJpaTest@DataJpaTest 어노테이션은 JPA관련 테스트 설정만 로드합니다.DataSource의 설정이 정상적인지, JPA를 이용하여 데이터를 저장, 수정, 삭제하는지 등의 테스트가 가능하며, 내장형 데이터베이스를 사용하여 실제 데이터베이스를 사용하지 않고 테스트 데이터베이스로 테스트가 가능합니다.(H2, DERBY, HSQLDB) 테스트코드 작성SpringBoot 3.3.3Java21Junit5Spring Data JPA - 테스트코드 환경 구축Entity@Entity@Getter@NoArgsConstructorpublic class Board { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Lon..
[Spring] Spring IOC, DI, DL 이란?
[Spring] Spring IOC, DI, DL 이란?
2024.07.27- Spring IOCIOC ( Inversion of Control)란 즉 제어의 역전이다. 제어의 역전이란? 제어권이 역전되다, 기존의 제어방식이 뒤바뀌었다는 것메서드나 객체의 호출작업을 개발자가 결정하는 게 아닌, 외부에서 결정되는 것을 의미한다. 이로 인해 객체 간의 결합도를 줄이고 유연한 코드를 작성할 수 있게 되어 가독성, 코드중복, 유지보수를 용이하게 한다.기존객체 생성 → 의존성 객체 생성 → 의존성 객체 메서드 호출스프링 제어의 역전객체 생성 → 의존성 객체 주입 → 의존성 객체 메소드 호출의존성 객체를 직접 생성하지 않고 제어권을 스프링에게 위임하여 스프링이 만들어놓은 객체를 주입한다. - DIDI (Dependency Infection)란 스프링이 다른 프레임워크와 차별화되어 제공하..