이 글은 공부를 하면서 알게 된 내용들을 기록하는 글 입니다. 오류나 고쳐야 할 사항들이 있다면 지적 부탁드립니다! 1. @Autowired란?2. 생성자 주입3. 수정자 주입4. 필드 주입5. 생성자 주입을 선택해야하는 이유6. 생성자 주입 정리⛅️ @Autowired란?@Autowired란 스프링 컨테이너에 등록한 빈에게 의존관계주입이 필요할 때, DI(의존성 주입)을 도와주는 어노테이션이다. 스프링 컨테이너에 빈들을 모두 등록한 후에, 의존성 주입 단계가 이루어진다. 이 때 @Autowired 어노테이션이 부여된 메서드가 실행되며 필요한 인스턴스를 주입해준다. @Autowired는 총 3가지 방법으로 실현이 가능한데, 생성자, 수정자(setter), 필드를 사용할 수 있다. ⛅️ 생성자 주입● 방법..
분류 전체보기
이 글은 공부를 하면서 알게 된 내용들을 기록하는 글 입니다. 오류나 고쳐야 할 사항들이 있다면 지적 부탁드립니다! 1. @Configuration2. @Bean을 통한 빈 등록3. @ComponentScan, @Component를 통한 빈 등록 ⛅️ @Configuration스프링이 뜰 때에 스프링은 자동으로 @Configuration이 붙은 클래스를 찾아서 구성 정보로 사용한다.이 클래스에서 Bean을 등록하고 의존관계주입을 처리할 수 있다. AppConfig라는 클래스에 @Configuration 어노테이션을 붙여 구성 정보로 사용한다고 가정하자. @Configuration을 붙이면, CGLIB 라이브러리가 AppConfig 클래스를 상속받아 싱글톤을 보장하는 클래스(AppConfig@CGLIB)를..

이 글은 공부를 하면서 알게 된 내용들을 기록하는 글 입니다. 오류나 고쳐야 할 사항들이 있다면 지적 부탁드립니다! 1. IoC란?2. DI란?3. ApplicationContext : 스프링 컨테이너란?4. 스프링 컨테이너의 생성과 빈 등록 과정5. @Configuration과 싱글톤 컨테이너 ⛅️ IoC란?IoC 제어의 역전이란 Inversion of Control의 약자로, 프로그램의 제어를 다른 대상이 맡는 것을 말한다. 스프링의 경우에는 스프링 컨테이너가 Bean의 생성, 의존관계주입과 같은 작업을 담당한다.여기서 스프링 컨테이너는 ApplicationContext이며, IoC 컨테이너 혹은 DI 컨테이너라고도 부른다.스프링은 포함한 프레임워크는 내가 작성한 코드를 제어하고, 대신 실행한다. ..

이 글은 공부를 하면서 알게 된 내용들을 기록하는 글 입니다. 오류나 고쳐야 할 사항들이 있다면 지적 부탁드립니다!⛅️ Assertions이전 포스트에서 Junit5를 통해 단위 테스트를 작성해보았다.단위테스트에서 많이 사용되는 것이 assert(단정) 메서드이다. 이 단정 메서드를 통해 테스트의 결과를 판별할 수 있다. Assertions.~로 시작하는 메서드를 사용하는데 두 가지 버전 junit와 assertj가 있다.org.assertj.core.api.Assertionsorg.junit.jupiter.api.Assertions이전에는 junit을 많이 사용했지만, assertj가 등장한 이후에는 assertj 버전을 많이 사용한다.그 이유는 assertj 버전이 가독성이 더 좋기 때문이다. ass..

이 글은 공부를 하면서 알게 된 내용들을 기록하는 글 입니다. 오류나 고쳐야 할 사항들이 있다면 지적 부탁드립니다!⛅️ 단위 테스트우리가 개발한 기능이 원래의 의도대로 작동하는지 검증할 수 있는 방법 중 하나이다.테스트의 종류에는 Unit test(단위 테스트), Integration Test(통합 테스트), UI Test가 있는데, 그 중 단위 테스트는 규모가 제일 작은 테스트이다. 클래스 범주 내에 작은(함수) 단위의 기능이 의도대로 동작하는지 유효성을 검증하는 테스트가 단위테스트이다.단위 테스트를 통해 해당 기능에 대한 신뢰도를 높일 수 있으며, 규모가 작기 때문에 빠르게 실행된다. ⛅️ @Test, @DisplayName1. @Test@Test를 적으면 메서드를 테스트 메서드로 인식하고, 단일 ..

이 글은 공부를 하면서 알게 된 내용들을 기록하는 글 입니다. 오류나 고쳐야 할 사항들이 있다면 지적 부탁드립니다! ⛅️ start.spring.io 에 접속하여 프로젝트 다운받기https://start.spring.io/ 에 접속하면 아래와 같은 창이 뜬다.1. Project 탭에서 Gradle Project 선택2. Language에서 Java 선택3. Spring Boot 버전은 SNAPSHOT이 아닌 버전 중 제일 높은 버전! 위의 경우에는 2.7.1을 선택한다. (2022.07.13 기준)4. Project Metadata 1) Group & Artifact -> 생성했을 때 패키지의 이름이 Group.Artifact가 된다. 예를 들어 Group이 hello이고 Artifac..