반응형
스프링은 매번 중복으로 생성되는 객체를 따로 별도로 구분할수있다. Bean을 이용하여 DTO나 Service 클래스같은 객체 생성이 반복되는 코드들을 Bean으로 설정하고. 필요할때 가져다 쓰기만 하면되는것이다.
Spring 프로젝트를 생성하였다면. Servlet-Context.xml 파일이 있을것이다.
이곳에서 각종 설정들을 추가해줄수있는데.
<beans:bean id="빈id" class="빈으로등록할 클래스의 전체경로(패키지경로.클래스명)"></beans:bean>
<beans:bean id="empDAO" class="com.mycom.app.emp.repository.EmpDAOImpl"></beans:bean>
이러한 문법으로 등록을 해줄수 있다. empDAO라는 클래스를 bean으로 등록하기위해서 class에 전체경로를 적어주었고
id에 empDAO를 정해주었다. 이렇게 등록을 해주면 Spring에서 프로젝트를 읽어올때 해당 EmpDAOImpl의 객체를 알아서
생성해준다
EmpDAOImpl empDAO = new EmpDAOImpl();
즉, 이와같은 코드들을 각 서비스마다 호출해줄 필요가 없는것이다. 등록을 마쳤다면 사용을 하러가자.
사용법은 간단하다. Field 영역에 해당 클래스를 선언하고, @(Annotaion)을 이용하여 @Autowired만 붙여주면된다.
package com.mycom.app.emp.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Service;
import com.mycom.app.emp.EmpDTO;
import com.mycom.app.emp.repository.EmpDAOImpl;
//service 역활을 하는 클래스
@Service
public class EmpServiceImpl implements EmpService{
@Autowired
private EmpDAOImpl empDAO;
@Override
public EmpDTO getEmpDetaile(String id) {
return empDAO.getEmpDetail(id);
}
@Override
public List<String> getEmpName() {
return empDAO.getEmpName();
}
@Override
public List<EmpDTO> getEmpList() {
return empDAO.getEmpList();
}
}
Service 클래스에서 DAO를 호출하기때문에 @Autowired를 이용하여 객체를 생성해주고, 해당 객체에서 메소드를 호출해 각각 역활을 수행해준다.
반응형
'Study > 중앙정보처리학원과정' 카테고리의 다른 글
STS 3.9.12 버전 설치하기 (0) | 2023.02.14 |
---|---|
Spring RequestMapping과 GetMapping (0) | 2023.02.09 |
Spring Project Pom.xml을 이용한 라이브러리 설치방법 (0) | 2023.02.07 |
Tomcat을 이용하여 war파일 단독배포하기 (0) | 2023.02.06 |
61일차. Team Project DB 생성 (0) | 2023.01.19 |