본문 바로가기

IT/Spring

(11)
Bean 의존 관게 설정 법 /property와 constructor-arg 차이 - 사좋배 공유 빈을 등록하다보면 property와 constructor-arg를 쓸때가 각가 있다. 어떨때 property를 사용하고 어떨때 constructor-arg를 사용하지는지 알아보자. Setter Injection:태그 Setter메소드를 통해 의존 관계가 있는 Bean을 주입할려면 태그를 사용할 수 있다. - ref 속성을 사용하면 Bean이름을 이용해 주입할 Bean을 찾는다. - value 속성은 단순 값 또는 Bean이 아닌 객체를 주입할 때 사용한다. Constructor Injection : 태그 Constructor를 통해 의존 관계가 있는 Bean을 주입하려면 태그를 사용할 수 있다. Constructor 주입 방식은 생성자의 파라미터를 이용하기 때문에 한번에 여러 개의 객체를 주입할 수 있다..
DispatcherServlet과 스프링 컨테이너 - 사좋배 공유 DispatcherServlet은 전달받은 설정 파일을 이용해서 스프링 컨테이너를 생성하는데, 앞에서 언급한 HandlerMapping, HandlerAdapter, 컨트롤러, ViewResolver 등의 빈은 위의 그림처럼 DispatcherServlet이 생성하는 스프링 컨테이너로부터 구한다. 따라서, DispatcherServlet이 사용하는 설정 파일에 이들 빈에 대한 정의가 포함되어 있어야 한다. contxtonfiguration 초기화 파라미터를 설정하지 않은 경우, Dispatcherservlet은 WEB-INF/[서블릿 이름]-servlet.xml파일을 설정 파일로 사용한다. 예를 들어, 다음 코드는 WEB-INF 폴더의 front-servlet.xml파일을 스프링 설정으로 사용하게 된다.
Controller(컨트롤러)와 (Handler)핸들러 - 사좋배 공유 클라이언트의 요청을 실제로 처리하는 것은 컨트롤러이고 DispatcherServlet은 클라이언트의 요청을 전달받는 창구 역할을 한다. 앞서 설명했듯이 DispatcherServlet은 클라이언트의 요청을 처리 할 컨트롤러를 찾기 위해 HandlerMapping을 사용한다. 컨트롤러를 찾아주는 객체의 타입은 ControllerMapping이어야 할 것 같은데 실제 타입은 HandlerMapping이다. 왜냐하면 스프링 MVC는 웹 요청을 처리할 수 있는 범용적인 프레임워크를 제공하고 있다. 이런 이유로 스프링 MVC는 웹 요청을 실제로 처리하는 객체를 핸들러(Handler)라고 표현하고 있으며, @Controller 적용 객체나 Controller 인터페이스를 구현한 객체 모두 스프링 MVC입장에서는 핸..
스프링 MVC 핵싱 구성 요소(스프링 MVC 흐름) - 사좋배 공유 스프링 MVC의 핵심 구성 요소 스프링MVC의 핵심 구성 요소와 각 요소간의 관계를 그림으로 그려보면아래와 같다. 이라고 표시한 것은 스프링 빈으로 등록해야 하는것들을 의미한다. 파란색 배경을 가진 구성요소를 개발자가 직접 구현해주어야 하는 요소이다. 그림을 보면 DispatcherServlet은 모든 연결을 담당한다. 웹 브라우저로부터 요청이 들어오면 Dispatcher Servlet은 그 요청을 처리하기 위한 컨트롤러 객체를 검색하는데, 이때 DispatcherServlet이 직접 검색하지 않고 HandlerMapping이라는 빈 객체에게 컨트롤러 검색을 요청한다. HandlerMapping은 클라이언트의 요청 경로를 이용해서 이를 처리할 컨트롤러 빈 객체를 DispatcherServlet에 전달한다..
Mysql 설치 및 eclipse 연동하기 - 사좋배 공유 Mysql 이클립스 연동 설정하는 법에 대해서 설명하겠습니다. 먼저 Mysql을 설치합니다. http://dev.mysql.com/downloads/connector/j/ MySQL :: Download Connector/J Download Connector/J MySQL Connector/J is the official JDBC driver for MySQL. MySQL Connector/J 8.0 is compatible with all MySQL versions starting with MySQL 5.5. Additionally, MySQL Connector/J 8.0 supports the new X DevAPI for development with MySQL Serv dev.mysql.com C..
@Resource 어노테이션이란? / @Resource @Autowired 차이점(@Resource vs @Autowired)-사좋배 공유 @Resource 어노테이션이란? @Autowired와 같은 역할을 한다고 보면된다. @Resource 어노테이션은 빈의 이름을 이용해서 주입할 객체를 검색한다. @Resource 어노테이션을 사용하려면 앞서 @Autowired 어노테이션과 마찬가지로 다음의 두가지만 추가하면된다.ㅇ 1.자동 주입 대상에 @Resource 어노테이션 사용 2.XML설정에 설정 추가 @Resource 어노테이션은 빈의 이름을 사용해서 주입할 빈 객체를 찾기 때문에, @Resource 어노테이션의 값으로 빈 객체의 이름을 지정한다. @Resource 어노테이션은 생성자에 적용할 수 없고 필드나 메서드에만 적용할 수 있다. @Autowired와 @Resource의 차이점. Autowired와 Resource 중에 무엇을 사용하..
@Autowired 어노테이션/@Autowired란? -사좋배 공유 자동 주입 기능을 사용하는 것은 매우 간단하다. 다음의 두가지만 사용하면 된다. 1.자동 주입 대상에 @Autowired 어노테이션 사용. 2.XML 설정에설정 추가 위 두가지를 하면, @Autowired가 적용된 의존 주입 대상에 대해서는 태그나 태그를 사용하지 않아도 스프링이 알맞게 의존객체를 주입한다. ex)예시 위의 xml파일에 bean을 등록한것처럼 빈등록만 한다면 태그나 태그를 사용하지 않아도 된다. 빈으로 등록한 memberDao를 이용하여 다른클래스에선 똑같이 그냥 빈만 등록하고 그 클래스에서 의존을 주입하고싶은 빈 대상이 있을경우 @Autowired로 자동 의존 주입하면 된다. 1. 2. 여기서, 만약 동일한 타입을 가진 빈 객체가 두개가 있다면 @Autowired 어노테이션은 어떻게 작..
[JAVA_SPRING] Maven이란?/Maven이 무엇인가? - 사좋배 공유 Apache Maven의 사전적 정의 Apache Maven은 자바용 프로젝트 관리도구로 Apache Ant의 대안으로 만들어졌다. Apache License로 배포되는 오픈 소스 소프트웨어이다. 사전적 정의만 봐서는 이해할수가 없다. Apache Maven이란? 프로젝트를 진행하게 되면 단순히 자신이 작성한 코드만으로개발하는것이 아니라 많은 라이브러리들을 활용해서 개발을 하게 된다. 이때 사용되는 라이브러리들의 수가 수십개가 훌쩍 넘어버리는 일이 발생해 이 많은 라이브러리들을 관리하는 것이 힘들어지는 경우가 종종 발생하곤 합니다. Maven은 이러한 문제를 해결해 줄 수 있는 도구 입니다. Maven은 내가 사용할 라이브러리 뿐만 아니라 해당 라이브러리가 작동하는데에 필요한 다른 라이브러리들까지 관리하..