问题标签 [spring5]

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 投票
3 回答
1554 浏览

java - 当对象的方法调用在列表中可用时,不会触发 Spring AOP 切入点

我有一个带有几个类、配置类和方面的 Spring Boot 应用程序,如下所示。下面的例子是为了说明我面临的问题。

我有办公室类,它具有打印机列表作为使用外部属性文件配置创建的依赖项。每当调用 Printer.getFilename 方法时,我想执行一个方面。如果我有打印机列表,它不会触发方面,但是当我有没有列表的单个打印机对象时它可以工作。

我发现 bean 列表没有在 Spring 容器中注册。因此我修改了配置类来注册bean

上述配置更改无济于事。我想我错过了spring aop的基础知识。我想用打印机列表实现spring aop,因为我无法更改列表生成逻辑(列表生成逻辑很复杂,必须是动态的)。

0 投票
1 回答
834 浏览

java - 如何在 Spring Webflux 中获取引荐来源网址?

如何在 Spring Webflux 中获取引荐来源网址?我试图查看ServerWebExchange exchange对象中的标头属性,但找不到相同的。有人可以在这里帮助我吗?

0 投票
1 回答
649 浏览

spring-boot - Spring WebClient:找不到合适的编写器:param1

我正在尝试使用 Spring 5 Webclient 上传具有其他一些文本属性的文件。但是我得到了同样的错误:下面提到的是代码:

此代码用于创建带有一些文本字段和文件字段的表单数据。

但是当我尝试运行代码时出现错误:

已解决 [org.springframework.core.codec.CodecException:未找到适合部分的编写器:param1]

此 API 的服务器端是 python,它尝试从请求中获取文件:

{"status": 400, "message": "extra keys not allowed @ data[u'param1']", "meta": {"status": 400, "msg": "extra keys not allowed @ data[u 'param1']""响应": null}

0 投票
0 回答
307 浏览

java - 石英带弹簧 5

我们有一个应用程序正在使用 Spring 3 使用 SimpleTruggerBean 来安排作业。但是现在我们必须将其升级到 Spring 5。在 Spring 5 中,SimpleTriggerBean 已被删除,而SimpleTriggerFactoryBean被引入。SimpleTriggerBean有 JobDetail 的 get/set 方法,但 SimpleTriggerFactoryBean 只有 set 方法。

所以我有点困惑如何在 Spring 5 中更改以下代码。

豆子细节

你能请我怎么能做到这一点?

0 投票
1 回答
171 浏览

java - Log4j2 配置无法写入文件

Log4j2配置无法使用Spring 5. 它在控制台上显示日志,但没有任何内容写入文件。但是文件正在生成,但它是空的。

pom.xml

src/main/resources/log4j2.xml

MyFilter.java

控制台日志:

0 投票
1 回答
1191 浏览

spring-security - 在 vaadin flow 14 中排除来自 vaadin 路由器的 URL 路径

我正在尝试在 vaadin 14 + spring boot 应用程序中包含一个“第三方”url,即 spring-security 的重定向 url,用于在“/oauth2/authorization/github”上进行单点登录。然而,vaadin servlet 似乎拦截了这个 url,并显示了一条路径未知的错误消息。

无法导航到“oauth2/authorization/github”

原因:找不到 'oauth2/authorization/github' 的路由

如何防止这种情况,以便可以访问 oauth2 url?我检查了 vaadin 文档,但没有找到有关如何从常规路由器导航机制中排除特定路径的信息。spring-boot oauth2 教程来自 Spring 官方网站https://spring.io/guides/tutorials/spring-boot-oauth2/并添加了以下依赖项:

WebSecurityConfigurerAdapter 已正确就位,因为标准 spring-security 在页面的根“/”上显示了上述 GitHub Auth 链接。同样对于根页面,未显示未知路由错误。

我还尝试了https://vaadin.com/learn/tutorials/securing-your-app-with-spring-security/setting-up-spring-security中的示例,它适用于常规登录页面,但再次阻止访问oauth2 链接。

是否需要实现调度此请求的请求过滤器,或者可以在某处配置排除?

编辑:根据要求,这里是 WebSecurityAdapterConfigurer

在检查了@anasmi 评论的教程后,发现包含 oauth antmatcher 的 WebSecurity 配置首先是错误的。

现在可以观察到的效果是 spring security oauth2 过滤器转发到 /login ,它不显示为 vaadin 路由配置的页面,而是默认带有指向 github 的授权链接。

如果它有助于理解正在发生的事情,这是一个调试日志:

0 投票
1 回答
128 浏览

java - 如何为 spring 5 实现 log4j2 的配置文件

我想用 log4j2 配置文件实现 spring 5,比如 dev、qa 和 prod。

目前,这就是我使用 log4j2 运行 spring 5 的方式,我在命令行中加载 log4j2 属性

这是我的 log4j2 属性:

在 spring 3 中,我使用了 log4j 并在 web.xml 中配置了路径。

我如何为 spring 5 实现 log4j2 的配置文件?

0 投票
1 回答
219 浏览

spring-webflux - Reactor 框架与组装时间和订阅时间混淆(何时调用订阅)

我实际上对组装时间和订阅时间感到困惑。我知道单声道是懒惰的,并且在订阅之前不会被执行。下面是一个方法。

这会在Mono<List<GroupResponse>> response = ussClient.getGroups(request);不调用订阅的情况下执行,但是除非我调用订阅,否则下面不会执行。

我可以在组装时间与订阅方面获得更多信息吗?

0 投票
1 回答
317 浏览

spring - 如何等待 Mono 完成,以便我可以利用生成的值

我想从 sendRequest() 方法返回状态代码,而不仅仅是能够打印该值。谁能指出如何将下面的代码修改为"wait for the Mono to complete"

我知道我可以使用Thread.sleep(1000);,但这似乎不是一个好方法!

我知道,由于我在 Webflux 应用程序中使用 WebClient,我必须将 Mono 或 Flux 一直返回给调用客户端,因为调用客户端是订阅者。但我不知道如何。

0 投票
1 回答
37 浏览

java - 无法将当前目录从一个 spring 项目切换到另一个

我有一个包含两个不同组件的应用程序。一个是核心(组件 A),另一个拥有所有文件资源(组件 B)。当我运行应用程序 A 运行并从其他组件 B 获取 xml、xslt、xsd 等文件时。我们最近升级到最新版本的 spring 5 并打开 jdk 11。在运行 junit 测试时,我在版本升级后遇到文件未找到异常A. 我们正在设置 user.dir 以切换当前目录,但它仍在尝试检查 A 的文件夹结构。

用途如下

然后我们有这个属性提到的属性文件,我们附加到上面

所以理想情况下它应该在 ComponentB 路径中搜索,但它会尝试在 Component A 路径中搜索文件。