当前位置: 首页 > 知识库问答 >
问题:

如何将Spring Boot环境bean注入到定制Spring xml bean中?

桂玉石
2023-03-14

我使用spring boot@Configuration类注释创建了一个bean,如下所示

@Configuration
public class CustomConfiguration {
    @Bean
    public MyEnvironmentProcessor myEnvironmentProcessor(Environment env) {
        return new MyEnvironmentProcessor(env);
    }
}

在其中一个应用程序中,我使用SpringXML创建bean,然后使用SpringBoot加载它们。在那里,我试图用XML创建相同的bean,但它不起作用,我在下面尝试了

<bean id="myEnvironmentProcessor " class="com.example.MyEnvironmentProcessor">
    <constructor-arg>
        <bean class="org.springframework.core.env.Environment"/>
    </constructor-arg>
</bean>

如何在SpringXML中创建等效的基于Java的bean?

Spring版本:5.2.4。发布Spring boot版本:2.2.5。释放

共有1个答案

夏和雅
2023-03-14

您可以通过引用其ID来引用环境,ID是环境,而不是其类:

<bean id="myEnvironmentProcessor" class="com.example.MyEnvironmentProcessor">
    <constructor-arg ref="environment"/>
</bean>
import org.springframework.core.env.Environment;

public class MyEnvironmentProcessor {
    private Environment environment;

    public MyEnvironmentProcessor(Environment environment) {
        this.environment = environment;
    }
}

顺便说一下,您的bean定义在ID中有一个空格字符<代码>“myEnvironmentProcessor”

 类似资料:
  • 我正在开发一个遗留的JSF应用程序,我们正在慢慢地将其移植到Spring MVC。我们正在使用Spring Security来控制登录信息。在用户登录之后,JSF页面全局地实例化一个在任何地方都使用的会话作用域bean。我想更改应用程序,这样我们就可以先进入用Spring MVC开发的页面。 我尝试的一种方法是将bean转换为spring bean,并将其注入JSF,但不幸的是,这需要对bean进

  • 问题内容: 目前,我需要弹簧豆的jsp 2.0标签使用以下代码: 我刚得到第一个匹配的bean。 这段代码可以正常工作,但是有一个不希望有的缺点,就是我花了大约一半的页面渲染时间来查找spring bean,因为每次调用标签时都会发生这种情况。我在想也许将bean放入应用程序范围或至少会话范围内。但是,解决这个问题的最明智的方法到底是什么? 问题答案: 我的第一个念头是,您确定春季电话会很昂贵吗?

  • 问题内容: 我希望conda的根环境在另一个环境中复制所有软件包。如何才能做到这一点? 问题答案: 有一些选项可以将依赖项名称/ URL /版本复制到文件中。 建议 通常,在新环境中工作比更改环境更安全。但是,在尝试更改之前,请考虑备份现有环境。通过在演示环境中测试这些命令来验证所需的结果。例如,要备份您的环境: 选件 选项1 -YAML文件 在第二个环境(例如)中,将名称+导出到yaml文件:

  • 问题内容: 我在应用程序中使用spring,并且能够将类路径中某些文件的某些属性注入到我的应用程序中,并且一切正常。即 现在我可以在春季环境中使用。在我的主要班级中: 它也可以正常工作,我的问题是,如何在春季环境属性中插入属性文件位置,而不是一开始就没有,我想使我的应用程序可配置。如果我从中执行我的应用程序,或者我假设在应用程序上下文中该值应为或 问题答案: 有时我也遇到类似的问题。我的要求是属性

  • 定制 Microsoft Jet 的Windows 注册表设置 注意 如果应用程序使用 Microsoft Jet 数据库引擎的缺省功能而不能正常工作,可能必须更改 Windows 注册表的设置来满足需要。 Windows 注册表也可用来调整可安装 ISAM和 ODBC驱动程序的操作。 有三种方式可以用来修改 Windows 注册表的设置。 使用 Regedit.exe 来改写默认设置 在应用程序

  • 我有一个特殊的用例,需要在html端呈现图像的完整url。前任;Facebook Open Graph需要完整图像url才能正常工作,相对图像或绝对路径无法正常工作。 我目前正在使用@vue/cli和typescript。我有以下组成部分: 上面的渲染很好,它会生成一个img标记,结果如下: 但假设我的领域是,以下是我想要的结果: 我不想在模板中硬编码任何东西。我想使用一个环境变量,这样我就可以在