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