XML与Java配置。 SpringMVC网络应用程序配置
我开始学习Spring框架。我看到了两种配置Web应用程序的方式,一种使用web.xml
来配置servlet等。另一个使用实现了WebApplicationInitializer
的Java类,并且是注释驱动的。XML与Java配置。 SpringMVC网络应用程序配置
有人告诉我,"XML is the old way, no new project should use XML anymore"
。谁能告诉我为什么这是?很多在线资源引用"Convention over Configuration"
,但是,使用我可以访问的在线学习工具,绝大多数示例都使用xml配置。我发现很难找到有关Java配置的相关示例。
我也想知道pro和con的使用一个在另一个是什么?如果它更容易找到基于xml配置的资源,那么对未来的工作前景来说,是否会破坏Java的配置并专注于xml?
Java Config的优点是类型安全。编译器可以检查是否正确连接应用程序(基于类型)。重构更容易一点。
使用XML配置,只能在运行时检查。
我自己的看法是,这两个方案之间没有太大的区别。你只能“区别地告诉Spring”如何连接应用程序。 Java Config引入了一些很好的功能(例如Spring Security Config),但也隐藏了一些有时难以理解的“魔术”。
您也可以查看关于此topic的早期问题。
在项目中,我们仍然在这里做了很多XML配置,它工作得很好。新配置通常被编写为Java配置并集成到“滞后”配置中。
有趣的是,知道Java配置类型安全,你有什么建议,我可以看看找到java配置的实现吗?例如,OpenEntityManagerInViewFilter避免LazyInitializationException使用'
'XML是旧的方式,没有新的项目应该再使用XML'不同意100%。这取决于项目。使用Java配置,Spring beans更容易注入和创建。大型项目的配置在XML中更容易管理。一个小的webapp或服务可以使用纯Java配置,这可能没有问题。在大型Web应用程序上管理纯Java配置将是一场噩梦。 (当然,我所有的意见) –