Notice
Recent Posts
Link
Tags
- jpa
- sql
- SSL
- nginx
- AWS
- 자바
- PYTHON
- spring boot
- springboot
- ORM
- DI
- join
- java
- 프로그래머스
- 스프링부트
- string
- spring security 6
- mysql
- session
- 문자열
- Docker
- 1차원 배열
- 스프링
- spring
- spring mvc
- Django
- Git
- select
- @transactional
- 데이터베이스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Archives
개발하는 자몽
@SpringBootTest, @TestConfiguration 본문
김영한 님 인강을 보다가 나온 @SpringBootTest, @TestConfiguration 애노테이션에 대해 간단하게 정리하려고 한다.
@SpringBootTest
스프링 AOP를 적용하려면 스프링 컨테이너가 필요하다. 이 애노테이션이 있으면 테스트 시 스프링 부트를 통해 스프링 컨테이너를 생성한다. 테스트에서 @Autowired 등을 통해 스프링 컨테이너가 관리하는 빈들을 사용할 수 있다.
@TestConfiguration
테스트 안에서 내부 설정 클래스를 만들어서 사용하면서 이 애노테이션을 붙이면, 스프링 부트가 자동으로 만들어주는 Bean들에 추가로 필요한 스프링 빈들을 등록하고 테스트를 수행할 수 있다.
@SpringBootTest //스프링 띄움 -> 필요한 스프링 빈 등록, 의존관계 주입
class MemberServiceV3_3Test {
public static final String MEMBER_A = "memberA";
public static final String MEMBER_B = "memberB";
public static final String MEMBER_EX = "ex";
@Autowired
private MemberRepositoryV3 memberRepository;
@Autowired
private MemberServiceV3_3 memberService;
@TestConfiguration
static class TestConfig { //DI를 위한 빈 등록
@Bean
DataSource dataSource() {
return new DriverManagerDataSource(URL, USERNAME, PASSWORD);
}
@Bean
PlatformTransactionManager transactionManager() {
return new DataSourceTransactionManager(dataSource());
}
@Bean
MemberRepositoryV3 memberRepositoryV3() {
return new MemberRepositoryV3(dataSource());
}
@Bean
MemberServiceV3_3 memberServiceV3_3() {
return new MemberServiceV3_3(memberRepositoryV3());
}
...
}
'Java > Spring' 카테고리의 다른 글
[Spring]JdbcTemplate (0) | 2022.09.30 |
---|---|
스프링 예외 추상화 (1) | 2022.09.29 |
[트랜잭션] @Transactional AOP (0) | 2022.09.23 |
[Spring MVC] Model, @ModelAttribute (1) | 2022.09.10 |
[Spring MVC] 뷰 템플릿, 템플릿 엔진, thymeleaf (0) | 2022.09.08 |
Comments