java - 如何通过 application.properties 将 bean 公开为属性

标签 java spring-boot

考虑以下 bean:

@Bean
public InternalResourceViewResolver getInternalResourceViewResolver() {
    final InternalResourceViewResolver resolver = new InternalResourceViewResolver();
    resolver.setPrefix("/WEB-INF/views/");
    resolver.setSuffix(".jsp");
    resolver.setExposeContextBeansAsAttributes(true);
    return resolver;
}

如何通过 application.properties 重现 setExposeContextBeansAsAttributes(true)

spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
....

最佳答案

您将需要创建 Spring boot 配置属性。

@ConfigurationProperties(prefix="spring.mvc.view")
public class SpringMvcViewProperties {

    private String prefix;

    private String suffix;

    private boolean exposeContext;

    public String getPrefix() {
        return prefix;
    }

    public void setPrefix(String prefix) {
        this.prefix = prefix;
    }

    public String getSuffix() {
        return suffix;
    }

    public void setSuffix(String suffix) {
        this.suffix = suffix;
    }

    public boolean isExposeContext() {
        return exposeContext;
    }

    public void setExposeContext(boolean exposeContext) {
        this.exposeContext = exposeContext;
    }
}

然后使用该配置属性,例如

@Bean
public InternalResourceViewResolver getInternalResourceViewResolver(SpringMvcViewProperties viewProps) {
    final InternalResourceViewResolver resolver = new InternalResourceViewResolver();
    resolver.setPrefix(viewProps.getPrefix());
    resolver.setSuffix(viewProps.getSuffix());
    resolver.setExposeContextBeansAsAttributes(viewProps.isExposeContext());
    return resolver;
}


// application.properties
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
spring.mvn.view.exposeContext=true

关于java - 如何通过 application.properties 将 bean 公开为属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36420996/

相关文章:

java - 无法解析 LocalDateTime 中日期和时间之间的空格

java - SpringBootTest - 如何在运行时配置中替换一个 bean?

ubuntu - 无法启动spring boot应用的systemd服务

java - 更新java时可以自动更新JRE_HOME吗?

java - 一个正则表达式来匹配一个子字符串,该子字符串后面没有某个其他子字符串

java - 如何在主方法中获取在不同方法中设置的私有(private)变量?

spring - 如何使用 Spring Cloud Security 实现 OAuth2 "Token Exchange"

java - 如何在重定向之间保留模型属性?

java - Android 两个网络同时操作

java - 从 portlet 使用 AbstractExcelView