问题标签 [spring-java-config]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3696 浏览

spring-security - 使用 Java Config 移除 ROLE_ 前缀升级到 Spring Security 3.2 有困难

我在使用 Java Config 围绕自定义RoleVoter以删除ROLE_前缀升级到 Spring Security 3.2 时遇到了一些困难。具体来说,我从原始 XML 中得到了这个:

我试图在我的@Configuration对象中创建类似的配置

这是我现在遇到困难的地方,我最终在日志中遇到了一个异常,如下所示:

ROLE_在这一点上,如果RoleVoter配置正确,我不确定来自哪里。

0 投票
1 回答
939 浏览

java - 我应该将配置类注释为@Configuration 以进行测试吗?

我花了一些时间解决org.joda.time.DateTime->java.util.DateSpring Data 中缺少转换器的问题(当 Joda-Time 在类路径上时,它应该默认启用)。我找到了一个原因,但是它在 Spring 中产生了一个关于@Configuration注解的问题。

AbstractMongoConfiguration使用来自 spring-data-mongodb 的标准应用程序配置:

显式使用 AppConfig 类的测试(使用 Spock,但使用 spring-test 提供的内部机制):

它工作正常。但是当 AppConfig 中的 @Configuration 注释被删除/注释时:

测试失败:

@ConfigurationAFAIK当它在上下文中显式注册时(通过类中的类@ContextConfigurationregister()方法) ,不需要将其用于配置类AnnotationConfigWebApplicationContext。无论如何都会处理这些类,并找到所有声明的 bean。@Configuration当不同测试使用的测试上下文中的相同包中有 2 个相似的配置类时,不使用它来防止组件扫描检测有时很有用。

因此,我认为它可能是 Spring 中的一个错误,它会导致上下文中不同的内部 bean 处理取决于使用或不是@Configuration注释。我比较了这两种情况的 Spring 日志,存在一些差异,但我无法确定它们是由 Spring 内部类引起的。在提交错误之前,我想问一下:

我的问题。是否有一个可以解释的原因为什么相同配置类的 Spring(显式指出@ContextConfiguration)使用(或不使用)Joda-Time 转换器取决于@Configuration注释的存在?

我还创建了一个快速启动项目来重现该问题。spring-data-mongodb 1.3.3,spring 4.0.0,joda-time 2.3。

0 投票
1 回答
1876 浏览

java - 结合 2 Spring boot 应用

只需遵循 Spring Guides http://spring.io/guides#gs我采取gs-rest-servicegs-accessing-data-jpa. 现在我想将它们组合到一个应用程序中,这就是org.springframework.boot.SpringApplication需要更多地了解新的地方。

gs-rest-service配置中看起来很棒,几乎不存在

gs-accessing-data-jpa更像是基于 Spring XML JavaConfig 的应用程序。

如何将它们结合起来?

这是否意味着我SpringApplication.run现在需要在更详细的层面上重新编写?

0 投票
1 回答
14173 浏览

spring-security - Spring Security 3.2 基于代码的配置。表单登录+全局方法安全

我在我的项目中将 Spring 安全性从 3.1 升级到 3.2。由于 3.2 支持基于代码的配置,我决定将旧的基于 XML 的配置转换为 Java 代码。

我收到异常说"authenticationManager"每次我尝试启动应用程序时都没有找到具有名称的bean。@EnableGlobalMethodSecurity在将注释添加到配置类后开始出现此异常。

Spring框架版本:4.0.0.RELEASE

Spring 安全版本:3.2.0.RELEASE

旧的 Xml 配置如下所示:

新的 Java 配置类如下所示:

异常文本:

我已经看了两天了,但找不到解决这个问题的方法。

更新

根配置:

Web 应用初始化程序:

0 投票
2 回答
4413 浏览

java - Spring Security Digest Auth 使用 JavaConfig 示例

您如何配置 Spring 4.0 和 Spring Security (3.2.0) 以专门使用 javaconfig(无 XML)进行摘要身份验证?我正在使用以下配置类,但是所有请求都被 HTTP 401 拒绝,并且“Nonce 应该已经产生了两个令牌,但是(...消息只是停在那里)”。

我正在尝试通过包含标头在客户端进行授权:

授权: Digest username="user", realm="myrealm", nonce="", uri="/service?param=98", response="fcd46faf42a583499d4e7f0371171ef2", opaque=""

如果我将此类恢复为基于 HttpBasic 的配置,我就能够访问预期的服务。是我的配置有问题还是我的请求有问题?上面的大部分代码都是从另一篇文章中借来的,但是我无法在这种情况下工作。所有这些都在 Spring Boot 0.5.0M7 中运行。

谢谢。

0 投票
2 回答
8582 浏览

spring - 在多模块 Java-Config Spring MVC 应用程序中使用 @ComponentScan 的正确方法

我刚刚开始了一个新的春季项目,这次我想做“正确”的事情。在上一个项目中,由于多个@ComponentScan注释,我遇到了某些类的多次注册问题。(即所有服务类都注册了两次)

基本上我使用以下布局:

WebAppInitializer

RootConfig

WebMvcConfig

DatabaseConfig

第一个基本问题是: 哪个类应该扫描哪些类/注释?

应该只WebMvcConfig扫描@Controller类吗?应该扫描哪一个@Servicefor@Configuration和 for @Component

第二个问题是: 还是我应该简单地使用包来缩小扫描路径?

例子:

然后将所有@Controller课程置于rootpackage.mvc.*?

第三个问题是: let scan for更常见吗?或者我应该放在类的方法中?RootConfigDatabaseConfigDatabaseConfiggetRootConfigClassesWebAppInitializer

最后一个问题是: 在一个多模块项目中:你如何组织这些东西?

示例:如果我选择我在问题二中描述的方式,我可以说,应用程序的每个模块实际上都由几个不同的模块组成。比方说,我想创建一个X包含一个@Service类和几个@Controller类的模块,我可以将它们放在不同的包中。像这样:

Maven Module X Service

Maven Module X Controller

如果您建议这种方式,那么:在哪里放置模型和存储库(用于访问数据库)?我应该为每个模块创建一个新模块吗?

提前致谢!

0 投票
1 回答
167 浏览

spring - 在基于 Spring Java 的配置中收集数据

我正在将 Spring XML 配置迁移到基于 Java 的配置。在此过程中,我遇到了一个集合类型数据的情况,不知道如何在基于 Java 的配置中处理它。例如,

如果我不想在 Java 配置中拥有这个地图数据,我需要做什么?

0 投票
1 回答
1575 浏览

spring-security - 如何在基于 Spring Java 的配置中放置带有正则表达式的 URL

在 Spring Security XML 配置文件中,我有类似的东西

如果我将上述内容转换为基于 Java 的配置,如何处理正则表达式?

0 投票
2 回答
9741 浏览

spring-security - Spring Boot 中的 Spring 安全配置

我正在将Spring 3项目转换为Spring 4 + Spring Boot。我不知道这样做是否正确。我将Spring Security XML配置转换为基于 Java 的配置,如下所示:

当我点击主页 URL 时,我得到Spring Security默认登录弹出面板。在我看来,上面的配置没有生效,但是Spring Boot中默认的Spring Security配置没有。如果是这样,如何覆盖默认值?

0 投票
5 回答
24196 浏览

tomcat - Apache CXF + Spring Java 配置(无 XML)

尝试使用 Tomcat 7 Maven 插件和 CXF 2.7.8 部署 JAX-WS 端点。作为一个偏好问题,我不想为 Spring 或 CXF 进行任何 XML 配置。我看到一些博客、文章、帖子使用cxf-servlet.xml 和 CXFServlet,但没有一个完全使用 Java 配置。查看 CXFServlet 源代码,它会cxf-servlet.xml在 servlet 上下文中的 key 下查找 或任何内容'config-location'。我尝试以编程方式注册端点而不是 in cxf-servlet.xml,但它不起作用;访问服务时收到 404。有任何想法吗?