spring_annotation_DI(autoware&resoure)

3719 단어 annotation
하나.jar 패키지 가져오기
spring.jar    commons-loggion-1.0.4.jar
둘.springIOC, 한 대상을 다른 대상에 주입하는 것입니다.
처리 인터페이스

package com.job.dao;

import com.job.model.User;

public interface UserDAO {
	public void save(User u);
}

인터페이스 구현

package com.job.dao;

import com.job.model.User;

public class UserDAOImpl implements UserDAO{

	@Override
	public void save(User u) {
		System.out.println(u.getUsername()+"---haha!");
	}
}

서비스 계층

public class UserService {
	
	private UserDAO userDAO;
	
	public void add(User u){
		this.userDAO.save(u);
	}

	public UserDAO getUserDAO() {
		return userDAO;
	}
	@Autowired
	public void setUserDAO(@Qualifier("userDAOImpl")UserDAO userDAO) {
		this.userDAO = userDAO;
	}
	
}

@Autowired 주석은 현재 클래스 속성 유형과 일치하는 클래스(기본값bytype)를 자동으로 주입합니다.
@Qualifier("userDAOImpl")는 지정한 프로필에 존재하는 bean의 ID 또는name
@Resource(name="employDAOImpl")도 사용할 수 있습니다. @Resource 기본 프로필에 존재하는 bean의 ID나name
실체류

public class User {
	private String username;
	private String password;
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	
}

spring의 응용 프로그램.xml 설정 (annotation autoware를 사용하여 자동으로 주입)

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xmlns:context="http://www.springframework.org/schema/context"
		xmlns:tx="http://www.springframework.org/schema/tx"
		xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
				http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
				http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd" >
	
	<context:annotation-config />
	
	<bean id="userService" class="com.job.service.UserService" >
	</bean>

	<bean id="userDAOImpl" class="com.job.dao.UserDAOImpl" lazy-init="true" >
	</bean>
	
	<bean id="employDAOImpl" class="com.job.dao.EmployDAOImpl" lazy-init="true" >
	</bean>
	
	
</beans>

annotation 구성 요소 및 기타 기능 초기화 설정
javabean 설정
테스트

public class UserServiceTest {
	@Test
	public void test(){
		ApplicationContext ac =  new ClassPathXmlApplicationContext("applicationContext.xml");
		UserService service = (UserService)ac.getBean("userService");
		User u = new User();
		u.setUsername("me haha  ");
		service.add(u);
		
	}
}

ClassPathXmlApplicationContext 방법은 경로를 쓰지 않으면 기본적으로 프로젝트 루트 경로 src에서 응용 프로그램 Context를 읽습니다.xml 파일
테스트 결과
인용하다
me haha  ---haha!

좋은 웹페이지 즐겨찾기