CSE/Spring(14)
-
@SpringJUnitConfig 어노테이션이란?
Spring Boot 기반으로 진행하고 있는 프로젝트에서 Test를 진행하다, @SpringJUnitConfig를 붙이느냐 안붙이느냐에 따라 생성자 자동 주입이 되느냐 안되느냐가 결정되는 것을 볼 수 있었다. 물론 이를 통해 당연히 해당 어노테이션은 자동 주입을 해주는구나를 알 수 있지만, 그래도 정확히 확인을 해보았다. 1. Spring Framework 공식문서 Spring Framework 공식 문서에 의하면 @SpringJUnitConfig는 SprintExtension.class의 @ExtendWith와 @ContextConfiguration 이 합쳐진 어노테이션이라고 한다. 따라서 위의 두 어노테이션을 찾아보자. @ExtendWith : 해당 어노테이션을 통해 하나 이상의 extension을 ..
2022.04.26 -
@SpringBootApplication 어노테이션 뜯어보기
내부에 @EnableAutoConfiguration을 확인할 수 있다. AutoCOnfiguration기능이 해당 어노이테이션을 통해 이루어지는 것을 볼 수 있다. (1) @EnableAutoConfiguration 이번에는 @EnableAutoConfiguration 안으로 들어오면 다음과 같다. Import 하는 부분이 있다. AutoConfigurationImportSelector이 import 되고 있는데 해당 클래스가 진짜 Autoconfiguration이 일어나게 하는 클래스이다. AutoConfigurationImportSelector 클래스 안으로 들어오면 다음 메소드를 찾을 수 있다. 해당 부분에 debug를 해보면 다음과 같은 사실들을 확인할 수 있다. getCandidateConfig..
2022.04.22 -
도메인 모델 패턴 vs 트랜잭션 스크립트 패턴
참고 : 인프런에서 김영한님의 "실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발" 강의 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8-JPA-%ED%99%9C%EC%9A%A9-1 실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 - 인프런 | 강의 실무에 가까운 예제로, 스프링 부트와 JPA를 활용해서 웹 애플리케이션을 설계하고 개발합니다. 이 과정을 통해 스프링 부트와 JPA를 실무에서 어떻게 활용해야 하는지 이해할 수 있습니다., 스프 www.inflearn.com 1. 도메인 모델 패턴 : 서비스 계층은 단순히 엔티티에 필요한 요청을 위임하는 역할을 하고, 비즈니스 로직 대부분이 엔티..
2022.01.21 -
Spring과 Spring Boot의 차이점
Spring을 공부하다가 너무 어려워서 Inflearn으로 Spring Boot 활용 강의를 먼저 듣다보니 여러 의문점들이 생겼다. Spring에서는 계속 @Bean 어노테이션도 사용했던거같은데 Spring Boot는 왜 안쓰지...? 등 이해가 필요한 부분들이 생겨서 다음 영상을 참고해서 정리해보았다. 추후에 내용이 더 추가될 수도 있다. 참고 영상 : https://youtu.be/6h9qmKWK6Io 1. Dependency - Spring : dependency에 버전까지 다 정해줘야 한다 => 길다 - Spring Boot : starter 시리즈에 의해 권장 버전으로 자동 설정 해준다! => 짧다 2. Configuration - Spring : 엄청나게 긴 Configuration 파일을 따..
2022.01.19 -
내가 이해한 기본 MVC 패턴 (계속 추가 예정)
보호되어 있는 글입니다.
2022.01.18 -
[Spring5입문] DB 연동
1. JDBC 프로그래밍의 단점을 보완하는 스프링 - JDBC API를 이용하면 데이터 처리와 상관없는 코드를 반복적으로 사용하게 된다. - 구조적인 반복을 줄이기 위한 방법은 템플릿 메서드 패턴과 전략 패턴을 함께 사용하는 것이다. => 스프링은 이 두 패턴을 엮은 JdbcTemplate 클래스를 제공한다 - 스프링의 @Transactional 애노테이션을 사용하면 트랜잭션 관리가 쉽다. 2. 예시 public class MemberDao { private JdbcTemplate jdbcTemplate; public MemberDao(DataSource dataSource){ this.jdbcTemplate = new JdbcTemplate(dataSource); } public Member selec..
2021.09.14