-
2021.07.28 기록장TIL 2021. 7. 27. 23:06
ToDo
- 알고리즘 2문제
- 책 읽기
- 토비의 스프링
Done
- 알고리즘 1문제
- 토비의 스프링
Weekly goal
- 책 읽기
- 토비 스프링 코딩
- 북마크 보기
토비의 스프링
633p.
spring은 dataSource 인터페이스를 상속해서 shutdown() 내장형 DB용 메서드를 추가한 EmbeddedDatabase를 제공한다.
634p.
초기화 코드가 필요하다면 팩토리 빈으로 만드는 것이 좋다. 스프링에는 FactoryBean <?> 인터페이스를 제공한다
https://chikeem90.tistory.com/74
FactoryBean이란?
스프링은 지정된 클래스 이름을 가지고 리플렉션을 이용해서 해당 클래스의 오브젝트를 만듦. 클래스의 이름을 갖고 있다면 다음과 같은 방법으로 새로운 오브젝트를 생성할 수 있음. Date now = (
chikeem90.tistory.com
648p.
스프링 3.1 이전에는 xml이 중심을 이뤘다면 3.1 이후부터는 어노테이션을 적극 사용하고 있다.
xml보다 어노테이션이 좋은 점은 이름 그 자체로 무슨 기능을 하는지 알 수 있다는 점이다. 하나 그 기능을 공부하지 않으면 무슨 일을 하는 어노테이션인지 모른다는 단점이 있다.
665p.
@Resource는 @Autowired와 비슷하다. Resource는 필드 이름을 기준으로 하고 Autowired는 타입 먼저 그다음 이름이다.
672p.
메서드에 @Autowired를 수정자 메서드에 붙이면 빈이 생성되고 나서 의존성을 세팅해준다.
수정자 메서드는 있으면 좋다. 단위 test가 어려운 클래스를 빼고는 목객체를 넣어서 단위 test를 시킬 수 있기 때문이다.
681p.
컴포넌트와 리포지토리, 서비스는 모두 빈으로 등록하는 어노테이션이다. 빈스캐너에의해서 잡혀 빈으로 등록된다.
근데 왜 이름이 각각 다른 것인가? 그것은 아까 말했듯이 이름을 통해서 기능을 예측 가능하다는 것이다.
서비스 계층, 퍼시스턴트 계층 등을 알 수 있다. 서비스 계층은 트랜잭션의 경계가 되는 일이 많다. 그래서 @Transactional과 자주 쓰인다.
'TIL' 카테고리의 다른 글
2021.07.30 기록장 (0) 2021.07.29 2021.07.29 기록장 (0) 2021.07.28 2021.07.26~27 기록장 (0) 2021.07.25 2021.07.24~25 기록장 (0) 2021.07.23 2021.07.23 기록장 (0) 2021.07.22