Spring

Spring

스프링부트로 웹 서비스 출시하기 - 동욱님

모든 코드는 Github에 올라와 있습니다.프로젝트 생성WebRestController응답을 정상적으로 하는지 간단하게 확인 PostsSaveRequestsetter를 사용하는 이유Controller에서 @RequestBody로 외부에서 데이터를 받는 경우엔 기본생성자 + set메소드를 통해서만 값이 할당된다.Entity 클래스로 Request/Response를 하지 않는 이유Entity 클래스는 매우 중요한 역할을 하는 클래스이다.다른 많은 클래스들이 Entity 클래스를 중심으로 동작을 하기 때문에 변경이 있어서는 안된다.Request나 Response용 DTO를 따로 만들어서 view에 맞는 스펙으로 운영해야한다.view Layer와 DB Layer를 역할 분리를 하는 것이 좋다.properties..

Spring/기초

BeanFactory와 ApplicationContext

BeanFactory 스프링 컨테이너의 최상위 인터페이스이다. 스프링 빈을 관리하고 조회하는 역할을 담당. getBean()을 제공한다. ApplicationContext BeanFactory 기능을 모두 상속받아서 제공한다. 빈을 관리하고 검색하는 기능을 BeanFactory가 제공하는데, 차이는 뭘까? 애플리케이션을 개발할 때는 빈을 관리하고 조회하는 기능은 물론!! 수 많은 부가기능이 필요하다. ApplicationContext가 제공하는 부가기능 메세지소스를 활용한 국제화 기능 ex) 메세지가 한국에서 들어오면 한국어로, 영어권에서 들어오면 영어로 출력해준다. ex) 어떤 홈페이지를 한국어세 들어가면 한국어로 출력, 영어권에서 들어가면 영어로 출력 환경변수 ex) 로컬, 개발, 운영등을 구분해서 ..

Spring/기초

[Spring] 중요!! 스프링 빈 등록 및 조회 - 상속관계

부모 타입으로 조회하면, 자식 타입도 함께 조회된다. 모든 자바 객체의 최고 부모인 Object타입으로 조회하면, 모든 스프링 빈을 조회한다. 부모 타입 조회시 자식이 둘 이상인 경우 DiscountPolicy 타입으로 rateDiscountPolicy() 와 fixDiscountPolicy() 두개의 @Bean이 있다. 이로 인해서 스프링 컨테이너는 어떤 DiscountPolicy를 불러와야 할지 혼동되기 때문에 NoUniqueBeanDefinitionException 에러를 발생시킨다. @Configuration static class TestConfig { @Bean public DiscountPolicy rateDiscountPolicy() { return new RateDiscountPolicy..

Spring/기초

스프링 빈 조회 - 동일한 타입이 둘 이상일때

타입으로 조회시 `동일한 타입이 둘 이상일때 NoUniqueBeanDefinitionException`이 발생한다. 이때는 빈 이름을 지정해주자!! ac.getBeansOfType()을 사용하면 해당 타입의 모든 빈을 조회 가능 package hello.core.beanfind; import hello.core.member.MemberRepository; import hello.core.member.MemoryMemberRepository; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.NoUniqueBeanDefinitionException..

여행하는 개발자(SOO)
'Spring' 카테고리의 글 목록