일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- spring-webmvc #코드읽기
- spring boot tomcat
- spring-webmvc
- JUnit
- Spring Batch
- spring camp
- 세미나
- JPA
- ApplicationPidFileWriter
- tomcat
- IntelliJ
- spring pid
- 톰캣
- docker
- REST API
- spring-mvc
- spring boot
- Spring Data JPA
- static inner class
- spring bean
- JPA mapping
- Data REST
- SuperTypeToken
- Spring
- Spring Data REST
- ORM
- spring jpa
- 코드 리뷰
- spring batch 코드
- batch
- Today
- Total
woniper
여러 권에 TDD 책을 보진 못했지만, 지금까지 봐왔던 책과는 조금은 다르다. 제목 그대로 TDD에 대한 오해와 진실을 말하고 있다. 가볍게 보기 위해 샀는데, 주제 자체는 생각을 많이 하게 되는 주제다. 이 책에 주제인 "오해"와 "진실"에 대해서 저자에 생각(주장)이 담겨있는 책이고, 공감 가는 내용도 많다. TDD를 하며 의문을 품었던 부분을 설명한 부분도 좋다. 하지만 "오해"와 "진실"만 알아서는 TDD를 여전히 잘하기는 어렵다.한 개발자 선배가 해준 말이 떠오른다. "토할 때까지 하면 된다." 실제로 TDD를 이야기하며 내게 해준 말이다. 잘하기 위해서는 실제로 (토할 때까지) 해봐야 실력이 는다.
Bean Scope를 좀 살펴보다가 아래와 같은 테스트를 돌려보았다. @Configuration public class BeanScopeConfig { @Bean public AccountService accountService() { AccountService accountService = new AccountService(); accountService.setAccountRepository(accountRepository()); return accountService; } @Bean @Scope(scopeName = "prototype") public AccountRepository accountRepository() { return new AccountRepository(); } } public c..
앞서 bean 등록(registry)과 getBean 메소드 호출 과정을 살펴보았다. 간단하게 다시 정리해보자면 bean 등록 : 메타데이터를 통해 BeanDefinition을 Map에 저장한다. getBean 처음 호출 GenericBeanDefinition을 RootBeanDefinition으로 재 정의 후 Map에 저장 bean instance 생성 후 Map에 저장 후 반환 2번 이상 호출 Map에 bean instance 꺼내와 반환 예제로 설명한 AnnotationConfigApplicationContext는 DefaultListableBeanFactory를 통해 대부분에 기능을 위임하고 있는 것을 확인했다. 그렇다면 BeanFactory와 ApplicationContext는 무엇일까? 이번 ..
Spring IoC Container를 까보자 #Bean 등록은 어떻게 될까? 라는 글에서 IoC Container인 BeanFactory와 ApplicationContext에서 어떻게 Bean을 등록하고 보관하는지 알아보았다. 이번 글에서는 등록된 Bean 정확히 말하면 BeanDefinition을 어떻게 instance 화 후 반환 하는지 알아보자. getBean 메소드의 정체 @Configuration public class BeanConfig { @Bean public AccountService accountService() { AccountService accountService = new AccountService(); accountService.setAccou..
Spring에서 IoC Container 역할을 하는 BeanFactory 와 ApplicationContext 동작 방법이 궁금했다. 작년 SLiPP에서 스터디를 했었는데, 다시 한번 블로그에 정리하려 한다. 스프링 구조 일단 스프링에서 BeanFactory와 ApplicationContext의 다이어그램을 보자. 사실 스프링 구조를 잘 이해하지 못하고 다이어그램만 보고는 각각의 interface와 class가 어떤 역할을 하는지 도통 알 수 없다. 핵심은 BeanFactory와 ApplicationContext다. ApplicationContext applicationContext = new AnnotationConfigApplicationContext(BeanConfig.class); Annotat..