【问题标题】:How can I provide a default bean implementation in Spring MVC with xml configuration?如何在带有 xml 配置的 Spring MVC 中提供默认的 bean 实现?
【发布时间】:2014-02-13 01:49:58
【问题描述】:

我正在处理一些旧代码库,它正在使用 xml 配置。

基本上它有一个名为BaseController 的基本控制器,所有其他控制器都继承了它。现在我需要添加一个所有当前控制器都需要使用的额外服务 bean。 bean定义是这样的:

<bean id="myService" class="com.myweb.MyService" scope="singleton"/>

基本控制器还将有一个名为 MyService myService 的字段,现在为空值。

除了在每个现有控制器bean映射下的xml文件中设置属性名称(太多了),我如何在运行时将单例MyService实例设置为所有控制器(就像默认值而不是null)?

【问题讨论】:

    标签: java xml spring spring-mvc


    【解决方案1】:

    您可以自动装配 bean。

    注释您的 BaseController MyService 字段
    @Autowired
    private MyService myService;
    

    【讨论】:

    • 那行不通。为了让@Autowired 工作,我需要将服务/控制器注释添加到现有类中,并将 context:component-scan 添加到 xml 配置中,这可能与现有的 xml bean 连接冲突。
    • @NSF 您需要添加以上行和<context:annotation-config> XML 元素。如果您已经为所有这些类声明了<bean> 元素,则不需要@Service@Controller 注释。
    猜你喜欢
    • 1970-01-01
    • 2014-12-03
    • 2023-03-15
    • 2014-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多