有谁知道 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 突然将事务设置为只读
spring - 使用 RabbitMQ 的 SimpMessagingTemplate.conve
Java - 避免创建空的子类和接口(interface)或生成 Java 源代码模板
spring - @PreAuthorize(permitAll) 仍然需要身份验证
java - Spring MVC 3.2 - 错误页面的内容协商?