【问题标题】:Spring Security - XML vs Java ConfigurationSpring Security - XML 与 Java 配置
【发布时间】:2014-03-04 14:29:08
【问题描述】:

我刚刚学习 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 实例。

可以在 XML 配置中完成的所有事情都可以通过 Java 配置完成吗? Spring社区在配置风格上整体有一个明确的方向吗?

【问题讨论】:

    标签: spring


    【解决方案1】:

    你可以选择基于java或基于xml的配置。坚持一个,不要混合使用。但不要忘记使用基于注释的配置。你只需要用@component,@service注释spring托管组件等等。您不需要在 xml 或 java 类中使用该 bean 定义。

     <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

    【讨论】:

      【解决方案2】:

      您可以使用基于 Java 或 XML 的。但是有一件事 在较新版本的 Spring 中,基于 xml 的配置的使用正在减少。 喜欢@EnableAutoConfiguration标签... 有了这个,Web 应用程序甚至 web.xml 都不需要任何 XML conf

      【讨论】:

        猜你喜欢
        • 2016-10-24
        • 2015-11-19
        • 2017-03-03
        • 2014-02-25
        • 2017-07-17
        • 2015-07-22
        • 2018-07-24
        • 2017-01-21
        • 1970-01-01
        相关资源
        最近更新 更多