json - Spring 是否支持 JSON 配置?

有谁知道 Spring 是否有任何扩展允许通过 JSON(或任何其他格式)而不是 XML 配置其 ApplicationContext?我在官方文档中找不到任何内容,但我想知道是否有任何其他开源扩展可以允许这样做。

为了清楚起见,我不是在谈论配置 SpringMVC 以设置基于 RESTful JSON 的 Web 服务或类似的东西,只要可以通过 JSON 而不是 XML 进行 Spring 应用程序配置。

最佳答案

据我所知,没有项目支持 JSON 作为配置源。启动起来应该比较容易,(Spring 容器不依赖 XML,它只是构造 bean 定义的一种方式)。然而,这比你想象的要多得多。

请注意,Spring 提供了 xml-schema帮助您编写正确的 XML。在 JSON 中你不会得到那么多。此外,许多 DSL 构建在 Spring XML 和自定义命名空间支持之上(spring-integration、mule-esb 和其他人使用它)。

如果你讨厌 XML(很多人讨厌),试试 Java 配置,它从 3.0 开始可用,并在 3.1 中得到了改进:

@Configuration
public class MyBeans {

    @Bean
    public Foo foo() {
        return new Foo();
    }

    @Bean
    public Bar bar() {
        return new Bar(foo());
    }

    @Bean
    public Buzz buzz() {
        Buzz buzz = new Buzz();
        buzz.setFoo(foo());
        return buzz;
    }

}

有趣的事实:感谢一些花哨的代理,foo() 在这里只被调用一次,即使被引用了两次。

https://stackoverflow.com/questions/10234234/

相关文章:

java - Spring Boot + Spring Data Multi-Tenancy

spring - 通过 Java 配置通过 CommonAnnotationBeanPostProc

java - Spring 和 Hibernate 突然将事务设置为只读

java - Spring配置继承和@Import的区别

spring - 使用 RabbitMQ 的 SimpMessagingTemplate.conve

Java - 避免创建空的子类和接口(interface)或生成 Java 源代码模板

spring - @PreAuthorize(permitAll) 仍然需要身份验证

java - Spring MVC 3.2 - 错误页面的内容协商?

spring - 以编程方式重启 Spring Boot 应用程序

java - 运行 find 会抛出一个 Detached 实体传递给持久异常