问题标签 [spring-boot-starter]

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 回答
3284 浏览

maven - 不兼容的 Spring 依赖项(调用 AnnotationRepositoryConfigurationSource 构造函数时出现 NoSuchMethodError)

添加持久性后,我无法再启动我的 Spring Boot 应用程序。错误是:

我将其追溯到AnnotationRepositoryConfigurationSource所在的spring-data-commons中的更改,并且在版本 1.13.5 中添加了一个额外的构造函数参数,并且spring-boot-starter-data应该使用具有相同构造函数签名的版本 1.13.7 -jpa在版本 1.5.7 中。而且我们只使用版本号为 1.5.7 的 Spring Boot 依赖项。

于是我构建了依赖树,奇怪的是在 1.13.4 版本中找到了spring-data-commons,而不是 1.13.7(倒数第三行):

上树你可以看到spring-data-jpa包含在 1.11.4 版本中,而根据Spring Boot Dependency Annex,它应该是 1.11.7 版本。这似乎导致了错误。但是我们不直接通过我们的 pom 文件依赖spring-data-jpa 。

所以我不知道这个旧版本是如何进入依赖树的。spring-boot-starter-data-jpa的 pom不表示任何版本号。

0 投票
2 回答
1571 浏览

spring-data-cassandra - spring-data-cassandra-2.0.0.RELEASE + spring-boot-starter-web-1.5.7.RELEASE 导致 java.lang.ClassNotFoundException

我使用 spring-data-cassandra 的最新可用版本,即 2.0.0.RELEASE 和 spring-boot-starter-web 的最新版本 - 1.5.7.RELEASE

我可以毫无问题地构建项目,但是应用程序不会以以下异常开始:

根本原因:

看起来问题出在 spring-boot-autoconfigure-1.5.7.RELEASE 中,如果我将 spring-boot-starter-web 更新为 2.0.0.M5:

然后应用程序启动没有任何错误。

有什么方法可以使用 spring-data-cassandra 的最新可用版本以及 spring-boot-starter-web 还是我应该等待 spring-boot-starter-web:2.0.0 的 GA?

先感谢您 !

0 投票
4 回答
3629 浏览

spring - 带有 axon-spring-boot-starter 的 NoHandlerForCommandException

我正在使用 Axon + Spring Boot 创建一个简单的应用程序,只是为了确保我在实际项目中使用 Axon 框架之前了解它的基本组件。TaskAggregate 类中有一个用@CommandHandler 注释的方法,当我通过CommandGateway 发送命令时应该调用该方法,但是在运行应用程序后出现异常:

根据文档,@CommandHandler 注释应该足以将命令处理程序订阅到命令总线。我想我一定是错过了什么。你能看看下面的代码并指出我正确的方向吗?

pom.xml

应用程序.java

创建任务命令.java

任务创建事件.java

任务聚合.java

提前致谢。

0 投票
1 回答
173 浏览

spring-boot - 自定义 AbstractEndpoint 监听“/”(根)

我已经实现了一个以我喜欢的方式配置 Swagger 的启动器。此外,我想将每个调用重定向到应用程序的根 URL(例如localhost:8080)到/swagger-ui.html. 因此,我添加了一个自己的AbstractEndpoint,它在类中实例化@Configuration如下:

相应的类如下所示:

如中所述public RootEndpoint(),自定义端点绑定到/root. 不幸的是,我不能指定super("");或者super("/");因为这些值会引发异常(Id must only contains letters, numbers and '_')。

如何使用@Configuration文件实例化 bean 来实现让自定义端点在启动器中监听根 URL?

0 投票
1 回答
942 浏览

java - 从@EnableRedisHttpSession 移动到@EnableMongoHttpSession 接收异常

我有一个使用 Redis HttpSession 存储的 Java 8 spring boot 项目。但是,我想将其更改为使用 Mongo HttpSession 存储。我改变了我的深度:

到:

并且我将相应的配置注解从@EnableRedisHttpSession 更改为@EnableMongoHttpSession。

但是,当我运行以下命令时,服务会输出如下所示的堆栈跟踪。

堆栈跟踪如下:

另外,仅供参考,这是运行第一个命令后在 mongo 中显示的内容:

现在请记住,当我使用 Redis 时,所有这些都可以正常工作。

谢谢。

0 投票
1 回答
603 浏览

spring-boot - Spring Boot 缓存在 @PostConstruct 中不起作用

我正在构建一个“类缓存”,其中包含我想稍后调用的类。

主要目标是我不希望每次需要类实例时都扫描上下文。

首先评估缓存,我将缓存方法@Autowired放在@RestController中,效果很好。当我调用 rest 方法时,缓存被填充。

之后,我将@Autowired对象移至@Service,创建了一种自行填充缓存的方法。但这不起作用。调用@PostConstructor方法时不会填充缓存。

如何使用必须从应用程序开始的服务或组件正确填充缓存。

提前致谢。

编辑:

我在这里找到了一个可能的解决方案:https ://stackoverflow.com/a/28311225/1703546

比我更改了@Service代码以手动放置缓存而不是使用@Cacheable魔术抽象。

现在的课是这样的。

现在缓存已正确填充,但问题是,这是最好的解决方案吗?

谢谢。

0 投票
4 回答
23111 浏览

spring-boot - Spring Boot Security 导致 java.lang.NoClassDefFoundError: org/springframework/security/web/access/WebInvocationPrivilegeEvaluator

我喜欢在我的 web 项目中添加 spring 安全性,当我添加安全性并扩展WebSecurityConfigurerAdapter时,我在启动 tomcat 服务器时收到以下错误:

这是我的 pom.xml:

我扩展了WebSecurityConfigurerAdapter

我尝试按照Spring Security NoClassDefFoundError中的建议添加依赖项:

并得到错误:

我试图将这两行添加到 application.properties

没有任何效果,有人解决了这个问题吗?

谢谢您的帮助。

0 投票
1 回答
413 浏览

java - 更新我的 spring 版本会阻止 gradle 解析 spring-boot-starter

我有一个spring-boot项目。当我尝试启动应用程序时,我遇到了以下问题。

在我的研究中,我发现了一个听起来与我的问题完全一样的错误报告。

https://jira.spring.io/browse/SPR-16149

问题似乎是某种未正确处理的较低级别的异常。从外观上看,这是一个不应该在用户空间中看到的异常。也有一个修复它。伟大的!我对修复做了一些更多的研究,结果证明你可以独立于 sprig boot 升级你的 spring 版本。我已将以下内容应用于我的 build.gradle

但是,当我尝试使用这个新版本启动应用程序时,我得到以下信息。

看来我的项目无法再解析 spring-boot-starter 了。我读对了吗?为什么我不能更新我的spring版本并使用现有版本的spring boot?它们有什么关系?

0 投票
2 回答
7195 浏览

spring-boot - spring-boot-starter-quartz jdbc 示例

从 spring-boot 2.xx 开始,他们开始提供 spring-boot-starter-quartz,这很棒!开箱即用,它进行内存存储。我想将其更改为集群环境,但我认为配置存在问题,主要是因为我需要将 qrtz_ 表放在与默认数据源不同的模式中。有没有人有使用备用数据源的例子?我目前正在尝试设置属性字段(如下所示),但就像配置 bean 没有拾取它们一样。任何帮助表示赞赏。

配置

日志输出

0 投票
1 回答
677 浏览

java - Spring boot starter web - 制作一个配置bean,首先更改初始化的属性

我在我的 Spring Boot 应用程序中使用嵌入式 tomcat。我的要求是从 db 以及属性文件中读取所有配置属性。

我设法从 db 读取属性并使用 @Configuration bean 将属性附加到 MutablePropertySources,如下所示:

问题是这个配置是在servlet(例如 cxf servlet)注册后初始化的。以下配置是从我的 application.properties 文件中的 cxf.path=/api2 读取的:

2017-11-10 09:41:41.029 INFO 7880 --- [ost-startStop-1] osbwservlet.ServletRegistrationBean:映射 servlet:'CXFServlet' 到 [/api2/ ]*

如您所见,当我添加配置属性时,为时已晚。在我添加我的配置之前会进行一些初始化。

如何确保我的 bean (PropertiesConf) 在启动期间首先初始化并更改属性,以便它们在系统范围内适用于所有 bean?

目前我正在向我所有的 bean 添加以下 DependsOn 注释,这非常讨厌......

但是我仍然对servlet等有问题。

什么是正确的弹簧方式来做到这一点