spring的註解 配置

public class UserDAOImpl implements UserDAO ....
一個繼承  

public class UserService {
	
	private UserDAO userDAO;  
	
	public void init() {
		System.out.println("init");
	}
	
	public void add(User user) {
		userDAO.save(user);
	}
	public UserDAO getUserDAO() {
		return userDAO;
	}
	
	//引入的父類,在bean.xml文件中是配置的是子類的也可以引入進來,子類可以當作父類看,當需要的是一個父類,給定的是一個子類也行
	@Autowired
	public void setUserDAO(@Qualifier("u") UserDAO userDAO) {
		this.userDAO = userDAO;
	}
	public void destroy() {
		System.out.println("destroy");
	}
}


<?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"
       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">
	<context:annotation-config />
  <bean id="u" class="com.bjsxt.dao.impl.UserDAOImpl">
  </bean>
  <bean id="u2" class="com.bjsxt.dao.impl.UserDAOImpl">
  </bean>
  
  <bean id="userService" class="com.bjsxt.service.UserService" >
  </bean>
  
</beans>




2.
	@Resource  
//(name="u")指定默認的id,指的是spring配置文件的id爲哪裏一個,默認爲userDAO的id來找
	public void setUserDAO( UserDAO userDAO) {
		this.userDAO = userDAO;
	}

	<bean id="userDAO" class="com.bjsxt.dao.impl.UserDAOImpl"></bean>
	
	<bean id="u" class="com.bjsxt.dao.impl.UserDAOImpl"></bean>

	<bean id="userService" class="com.bjsxt.service.UserService">
	
	3. <context:component-scan base-package=””/> 自動掃描進行註解@component標記,
	spring就會把此java類註冊爲spring bean 默認name爲類名首字母小寫,也可以指定那麼的名字。
	會發現自動@component註解所標註的Guitar,Bean的ID,默認爲無限定類名,默認爲id爲guitar,
	@component標記,spring就會把此java類註冊爲spring bean,默認name爲類名小寫,也可以指定那麼的名字。@component(‘eddie’)。

	4.@Component、@Service 、@Controller 、@Repository這四個註解(2.5版本是沒有任何區別 )可以看成是@Component註解,
	當配置掃描,自動檢測的時候,會自動將有這些註解的類,註冊成bean,放進spring容器裏面。
	並自動裝配(當有相應的註解的時候,自動裝配到類上面去,記住是包路徑,不是哪個java路徑)。
	<context:component-scan base-package=””/>的功能強大一點。
	<context:annotation-config/>只能是根據註解自動裝配,而不能掃描自動註冊成bean。
	@component標記,spring就會把此java類註冊爲spring bean</span>默認name爲類名小寫,也可以指定那麼的名字。@component('eddie')




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章