我刚学习Spring Security,很多Spring的文档似乎都使用基于Java的bean配置(而不是XML)。总的来说,这似乎是他们很多项目的进展方式。但是,他们的部分文档往往从Java配置开始,然后在之后切换到XML配置。我在一个文档(http://docs.spring.io/spring-security/site/docs/3.2.0.RELEASE/reference/htmlsingle/)中找到了一个简介,说明了以下内容:
Spring Security的Java配置不会公开它配置的每个对象的每个属性。这简化了大多数用户的配置。 。 。 。虽然有充分的理由不直接公开每个属性,但用户可能仍需要更高级的配置选项。为了解决这个问题,Spring Security引入了ObjectPostProcessor的概念,该概念可用于修改或替换Java配置创建的许多Object实例。
可以使用Java配置完成XML配置中可以完成的所有操作吗? Spring社区在配置风格方面是否有明确的方向?
答案 0 :(得分:2)
您可以选择基于java或基于xml的配置。选择一个,不要混合使用。但是不要忘记使用基于注释的配置。您只需要使用@ component,@ service注释spring托管组件你不需要在xml或java类中使用那个bean defenition。
<context:annotation-config/>
<context:component-scan base-package="com.package"/>
或
@Configuration
@ComponentScan({"com.foo.bar", "org.foo.bar"})
http://docs.spring.io/spring-security/site/docs/3.2.0.RC2/reference/htmlsingle/#jc
答案 1 :(得分:0)
您可以使用基于Java或XML。但有一件事
在较新版本的Spring中,基于xml的配置的使用正在减少。
像@EnableAutoConfiguration
标签一样......
有了这个,Web应用程序甚至不需要任何XML conf甚至web.xml