본문 바로가기

WEB37

[Spring] 컴포넌트 스캔 자동 주입과 함께 사용하는 추가 기능이 컴포넌트 스캔이다. 컴포넌트 스캔은 스프링이 직접 클래스를 검색해서 빈으로 등록해주는 기능이다. 설정 클래스에 빈으로 등록하지 않아도 원하는 클래스를 빈으로 등록할 수 있으므로 컴포넌트 스캔 기능을 사용하면 설정 코드가 크게 줄어든다. 1. @Component 애노테이션으로 스캔 대상 지정 스프링이 검색해서 빈으로 등록할 수 있으려면 클래스에 @Component 애노테이션을 붙여야 한다. @Component 애노테이션은 해당 클래스를 스캔 대상으로 표시한다. package spring; import java.util.Collection; import java.util.HashMap; import java.util.Map; import org.springframewo.. 2022. 6. 3.
[Spring] @Configuration 설정 클래스의 @Bean 설정과 싱글톤 스프링 Bean 설정과 싱글톤 먼저, 이전 포스트에서 작성한 AppCtx 클래스의 일부 코드를 살펴보자. import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import spring.ChangePasswordService; import spring.MemberDao; import spring.MemberInfoPrinter; import spring.MemberListPrinter; import spring.MemberPrinter; import spring.MemberRegisterService; import spring.VersionPrinter; @C.. 2022. 6. 3.
[Spring] Inversion of Control 제어의 역전 의존성에 대한 control이 뒤바뀌었다! 그럼 원래는 어떠했길래 뒤바뀐 것인가? 처음엔 잘 모를 수 있다. 의존성에 대한 제어권은 자기 자신이 들고 있는 것이다. 예를 들어 OwnerController는 OwnerRespository를 사용한다. 즉, OwnerRespository를 repository라는 레퍼런스 변수를 통해 사용한다. class OwnerController { private OwnerRepository repository = new OwnerRepository(); } 아래 코드를 보면 OwnerController는 OwnerRespository를 사용하지만 새로운 객체를 생성하지는 않는다. 생성자를 통해 누군가에 의해 받아온다! 의존성을 만드는 일은 더이상 OwnerC.. 2022. 6. 3.
[Spring] Dependency Injection 의존이란? DI는 'Dependency Injection'의 약자로 우리말로는 '의존 주입'이라고 한다. 스프링에서의 의존은 객체 간의 의존을 의미한다. 아래의 회원 가입 처리 기능을 구현한 코드로 이해해보자. public class MemberRegisterService { // 의존 객체를 직접 생성 private MemberDao memberDao; public MemberRegisterService(MemberDao memberDao) { this.memberDao = memberDao; } public Long regist(RegisterRequest req) { // 이메일로 회원 데이터(Member) 조회 Member member = memberDao.selectByEmail(req.getE.. 2022. 6. 2.
[Spring] STS설정 및 스프링 한글깨짐 방지 설정 1. STS(Spring Tool Suite)에서 한글이 깨지는 이유 STS(스프링) 에서 한글이 깨지는 이유는 기본 인코딩이 MS949로 되어 있어서 한글이 깨진다. 인코딩을 모두 UTF-8로 변경을 해주어야 한글이 깨지지 않는다. 2. STS 한글깨짐 방지 설정 먼저 Window - Preferences 로 들어가준다. CSS, HTML, JSP 항목에서 Encoding 항목을 ISO 10646/Unicode(UTF-8)로 변경해 준다. General -> Workspace의 Text file encoiding 을 UTF-8로 바꿔준다. General -> Web Brower에서 New를 누른후 Chrome을 설정한다. 2022. 6. 2.
[Spring] 스프링 vs 스프링 부트 보호되어 있는 글 입니다. 2022. 6. 2.