0

我是 spring 新手,我也一直在阅读 spring 在线参考。我有一个关于使用 autowire 注释的问题,基本上我有一个 Web 应用程序,例如UserController.java,UserManagerService.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,以便自动装配注释UserManagerServiceUserDao工作?

在此先感谢您的帮助

4

1 回答 1

1

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

于 2013-09-07T08:32:52.757 回答