简体   繁体   English

如何在Spring MVC的控制器内部使用DAO?

[英]How can I use a DAO inside a Controller in Spring MVC?

In a Spring MVC project I've a DAO class myproj.models.UserDAO : 在Spring MVC项目中,我有一个DAO类myproj.models.UserDAO

@Repository
@Transactional
public class UserDAO {

  // UserDAO methods ...

}

and I should use it inside a controller, say myproj.controllers.UserController : 我应该在控制器中使用它,例如myproj.controllers.UserController

@Controller
public class UserController {

  // UserController methods ...

  @RequestMapping(value="/{user}")
  public String create(String user) {

    // Here I want to use the UserDAO
    // ...

  }

}

How can I create an instance of the UserDAO object and use it inside a controller method? 如何创建UserDAO对象的实例并在控制器方法中使用它?

You could try following 您可以尝试关注

@Repository
@Transactional
public class UserDAO {

  // UserDAO methods ...

}

Controller: 控制器:

@Controller
public class UserController {

@Autowired //this will give you the reference to UserDAO      
UserDAO userDao; 
  // UserController methods ...

  @RequestMapping(value="/{user}")
  public String create(String user) {

    // Here I want to use the UserDAO
    userDao.userDaoMethod();
    // ...

  }

}

For more information on @Autowired explore this 有关@Autowired的更多信息,请浏览此内容

User Autowired annotation to inject a bean instance of your DAO: 用户自动Autowired注释可以注入DAO的bean实例:

@Controller
public class UserController {

  @Autowired
  UserDAO userDao;

  @RequestMapping(value="/{user}")
  public String create(String user) {

    userDao.method();

  }

}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM