【问题标题】:Clarification on using autowire annotation in spring关于在 spring 中使用 autowire 注释的说明
【发布时间】:2013-09-07 08:27:05
【问题描述】:

我是 spring 新手,我也一直在阅读 spring 在线参考。 我有一个关于使用 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,以便自动装配注释 UserManagerServiceUserDao 工作?

提前感谢您的帮助

【问题讨论】:

    标签: spring spring-mvc annotations


    【解决方案1】:

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

    【讨论】:

    • 非常感谢您的响应,因此只有在不使用注释时才会在 xml 中定义 bean。
    • 没有。当您不使用组件扫描时。还有其他几种不依赖注释的自动装配方式。
    • 嗨,还有什么其他不依赖注释的自动装配方法?有没有在线资源可以参考,我可以阅读以了解更多信息?
    • Spring Framework 参考指南是您要阅读的第一个资源。您可以按名称或类型使用自动装配(如果您有设置器)。
    猜你喜欢
    • 2013-02-24
    • 1970-01-01
    • 2017-04-08
    • 1970-01-01
    • 1970-01-01
    • 2011-12-01
    • 2012-12-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多