澄清在春天使用autowire注释

时间:2013-09-07 08:27:05

标签: spring spring-mvc annotations

我是春天新手,我也一直在阅读春季在线参考。 我有一个关于使用autowire注释的问题,基本上我有一个Web应用程序,例如UserController.javaUserManagerService.javaUserDao.java。 请在下面找到伪代码:

 @Controller
   public class UserController
    {
    @autowire UserManagerService userManagerService;

    public String validateUser(String userpswrd,String username){
           return userManagerService.validateUser(userpswrd,username);
    }

    }

UserManagerServiceImpl:

 @Service
public class UserManagerServiceImpl{

@autowire UserDao userDao;

public String validateUser(String userpswrd,String username){
           return userDao.validateUser(userpswrd,username);
    }

我知道我需要将以下内容放在我的applicationContext.xml中才能工作:

<context:component-scan base-package="com.*" />
<!-- This tells Spring to activate annotation-driven transactions -->
<tx:annotation-driven />

我的问题是我需要在applicationContext.xml文件中将UserDao和UserManagerService定义为bean,以便autowire注释UserManagerServiceUserDao能够工作吗?

提前感谢您的帮助

1 个答案:

答案 0 :(得分:1)

否......组件扫描将检测所有@Component相关bean(包括`@ Service,@ Repository,@ Controller等)。因此,您不需要明确定义bean,因为这将无视组件扫描和自动布线的需要。