@Component :标注一个普通的Spring Bean类。
@Controller: 标注一个控制器组件类。
@Service:标注一个业务逻辑组件类。
@Repository:标注一个DAO组件类。
首先要使用注解需要配置Spring自动扫描的包
<!-- 自动扫描该路径下的所有类 -->
<context:component-scan base-package="com.manager"/>
将ScheduleDaoImp类注入在Spring中,此时ScheduleDaoImp不需要在ApplicationContext.xml中配置了,但是需要将sessionFactory和dataSource配置在
ApplicationContext.xml中
@Repository("scheduleDao")
public class ScheduleDaoImp extends HibernateDaoSupport implements
ScheduleDaoInterface {//这里必须注入sessionFactory 并且sessionFactory必须配置在ApplicationContext.xml中
@Resource(name="sessionFactory")
public void setSuperSessionFactory(SessionFactory sessionFactory) {
super.setSessionFactory(sessionFactory);
}
}
将ScheduleManagerImp类注入在Spring中,并将ScheduleDaoImp作为属性注入进去
@Service("scheduleManager")
public class ScheduleManagerImp implements ScheduleManagerInterface{private ScheduleDaoInterface scheduleDaoImp;
public ScheduleDaoInterface getScheduleDaoImp() {
return scheduleDaoImp;
}
//将scheduleDaoImp注入进去
@Resource(name="scheduleDao")
public void setScheduleDaoImp(ScheduleDaoInterface scheduleDaoImp) {
this.scheduleDaoImp = scheduleDaoImp;
}
}
将ScheduleAction类注入在Spring中,并将ScheduleManagerImp作为属性注入进去
@Scope("prototype")
@Controller("schedule")public class ScheduleAction implements SessionAware{
private ScheduleManagerInterface scheduleManagerImp;
public ScheduleManagerInterface getScheduleManagerImp() {
return scheduleManagerImp;
}
@Resource(name="scheduleManager")
public void setScheduleManagerImp(ScheduleManagerInterface scheduleManagerImp) {
this.scheduleManagerImp = scheduleManagerImp;
}
}
属性注入的时候 注意要将@Resource 写在Set方面上面
Spring零配置