본문 바로가기

프로그래밍/Spring

(12)
[Spring] 의존성주입(Dependency Injection, DI) DI란 의존성 주입이라는 의미로 객체간의 의존성을 자신이 아닌 외부에서 주입해주는 개념이다. 여기서 의존이란, 한 클래스가 다른 클래스의 메소드를 실행하는 것을 말한다. MemberRegisterService에서 MemberDao를 사용하여 DB에 접근한다면, 이 때 MemberRegisterService는 MemberDao 클래스에 의존한다고 표현한다. DI 장점 일반적으로 우리가 객체를 사용할 때에는 아래와 같이 객체를 얻어왔다. public class MemberRegisterService { private MemberDao memberDao = new MemberDao(); .. } 위와 같이 클래스 내부에서 직접 의존 객체를 생성하는 것은 사용하기 쉽지만, 유지보수 관점에서 문제점을 유발할 수 ..
[Spring] ResponseEntity ResponseEntity란 웹 서비스에서는 많은 정보를 송수신하게된다. 각각의 다른 웹 서비스들이 대화하려면 서로 정해진 약속에 맞게 데이터를 가공해서 보내야하는데, 이때 보내는 요청 및 데이터 형식을 HTTP(HyperText Transport Protocol)이라고 한다. 우리는 Spring Framework에서 제공하는 클래스 중 *HttpEntity를 상속받아 구현한 클래스인 ResponseEntity를 활용하여 빠르고 쉽게 규격에 맞는 HTTP응답을 생성할 수 있다. ResponseEntity는 사용자의 HttpRequest(요청)에 대한 응답(HttpStatus, HttpHeaders, HttpBody)을 포함한다. *HttpEntity HTTP요청 또는 응답에 해당하는 HttpHeader와..
[Spring] Bean Bean이란 스프링 IOC 컨테이너에 의해서 관리되는 자바 객체이다. 우리가 순수 자바코드에서 new 해서 사용하는 객체는 스프링 빈이아니다. (스프링 컨테이너에 의해 관리되는 객체가 아니기때문에) ApplicationContext.getBean() 으로 얻어지는 객체가 스프링 빈이다. Bean 등록하는 법 1. Component Scanning @ComponentScan 어노테이션이 포함된 클래스부터 하위 패키지까지 모든 클래스를 조회하여 @Component 어노테이션이 붙은 클래스들을 스프링 컨테이너에 빈으로 자동으로 등록해 줄 수 있다. 2. 빈 설정파일에 직접 빈을 등록 (xml)
[Spring] Annotation 어노테이션이란 사전적으로는 주석이라는 의미를 가지고 있으나, 자바에서 사용될때의 어노테이션은 코드 사이에 주석처럼 사용하여 특별한 의미를 부여해준다. 즉, 프로그램에게 추가적인 정보를 제공해주는 메타데이터(데이터를 위한 데이터)라고 볼 수 있다. 자주 사용하는 어노테이션 @Component 개발자가 생성한 Class를 Spring의 Bean으로 등록할 때 사용하는 어노테이션. Spring은 해당 어노테이션을 보고 Spring의 Bean으로 등록한다. @Component(value="myman") public class Man { public Man() { System.out.println("hi"); } } @ComponentScan Spring Framework는 @Component, @Service,..