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')