Spring零配置

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

原文地址:https://www.cnblogs.com/mingf123/p/3734013.html