분류 전체보기(169)
-
스프링 jdbc 템플릿
jdbc template은 MyBatis 와 같이 JDBC API의 반복 코드를 대부분 제거해준다. 그러나 SQL은 직접 작성해야 한다. 사용하기 위해서 먼저 build.gradle 에 dependency를 추가해준다. implementation 'org.springframework.boot:spring-boot-starter-jdbc' datasource를 위해 application.properties에 url, username. password를 작성해준다. spring.datasource.url=jdbc:h2:tcp://localhost/~/test spring.datasource.username=idididspring.datasource.password=123123스프링부트의 auto confi..
2024.05.16 -
스프링부트 테스트
스프링부트가 테스트를 위해 두 가지 모듈을 제공한다.1) spring-boot-test : 핵심 기능 포함2) spring-boot-test-autoconfigure : 테스트를 위한 AutoConfiguration 제공 'spring-boot-starter-test' 를 dependencies에 추가 해주면 자동으로 추가가 된다. 테스트는 단위 테스트와 통합 테스트가 있다. - 단위 테스트단위테스트는 @SpringBootTest 어노테이션을 사용하지 않는다. 그래서 스프링을 실항하지 않고 하는 테스트이다. @SpringBootTest 가 붙으면 스프링이 실행되기 때문에 단위 테스트가 아니다. 단위 테스트는 작은 단위로 검증하는 테스트로 보통 메소드 단위로 테스트한다. 메소드에 @Test 어노테이션을 ..
2024.05.14 -
DI 주입 방법
DI 주입 방법 1) 필드 주입 @Autowired private MemberService memberService; Java의 Reflection API를 사용하여 접근 제한자를 무시하고 필드에 직접 접근할 수 있다. Spring Framework는 이러한 Reflection API를 사용해 private으로 선언된 필드에도 의존성을 주입할 수 있다. final로 되어 있어도 Reflection API로 변경이 가능하기 때문에 변경이 가능하다. 따라서 객체가 생성된 후에도 의존성이 변경될 수 있다. 이것은 객체의 불변성을 해칠 수 있다. 또한 테스트를 위해서 스프링 컨테이너가 필요하여 테스트하기 어렵다. 2) setter 주입 private MemberService memberService; @Auto..
2024.05.14 -
@Configuration 스프링빈 등록
객체를 스프링 빈으로 등록할때 @Service, @Repository 와같이 annotation으로 스프링빈 등록 방법이 있다. 이 방법 말고 @Configuration 으로 스프링빈 등록 방법이 있다. package groupInfo.study.service;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import groupInfo.study.repository.MemberRepository;import groupInfo.study.repository.MemoryMemberRepository;@Configurationpublic class Sprin..
2024.05.14 -
@Configuration 스프링빈 등록
객체를 스프링 빈으로 등록할때 @Service, @Repository 와같이 annotation으로 스프링빈 등록 방법이 있다. 이 방법 말고 @Configuration 으로 스프링빈 등록 방법이 있다. package groupInfo.study.service;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import groupInfo.study.repository.MemberRepository;import groupInfo.study.repository.MemoryMemberRepository;@Configurationpublic class Sprin..
2024.05.14 -
컴포넌트 스캔으로 의존관계 설정
스프링에서 각 객체를 스프링컨테이너에 빈으로 등록해서 이중에 필요로하는 객체에서 빈을 가져다가 사용한다. 그렇게 하려면 객체를 빈으로 등록해줘야 한다. 빈으로 등록하는 방법중에서 컴포넌트 스캔 방법을 알아보자.package groupInfo.study.controller;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import groupInfo.study.service.MemberService;//@Controller 어노테이션을 넣으면 MemberController 객체를 생성해서 스피링에 넣어두고 관리한다.//스프링 컨테이너에서 빈이 관리되는것@Co..
2024.05.13