@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方面上面