问题标签 [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.
spring - Spring Data JPA 自定义存储库
尝试使用 Spring Data JPA 实现自定义存储库时遇到一些问题。
我尝试遵循一些这样的参考指南,但我找不到问题: https ://docs.spring.io/spring-data/jpa/docs/current/reference/html/#repositories.custom-implementations
我不知道为什么 Spring 尝试将自定义存储库方法查找为我的实体属性。
实体:
服务:
存储库:
自定义存储库:
自定义存储库实施:
当我运行应用程序时,我得到了 PropertyReferenceException:
例外:
spring - 热插拔不适用于 Intellij 和 spring-boot-starter-web 的 Spring Boot
我的 spring boot 微服务使用 spring-boot-starter-web,我正在尝试在 intellij 中启用热交换。我尝试添加此依赖项:
然后在 Intellij I 中:
在编译器设置中选中“自动构建项目”并选中 compiler.automake.allow.when.app.running 框并重新启动 Intellij
我运行了我的微服务,然后更改了一个控制器文件,但什么也没发生……有什么想法吗?是 b/c 我使用的是 spring-boot-starter-web 并因此嵌入了 Tomcat 吗?
谢谢!
amazon-web-services - 在 AWS 中运行 Spring Boot 应用程序无法启动
我有一个 Spring Boot 应用程序,在本地执行时启动没有问题。我想通过 AWS Lambda 运行应用程序。我使用了https://github.com/awslabs/aws-serverless-java-container并添加了本示例中描述的相应代码:https ://keyholesoftware.com/2018/04/26/aws-lambda-with -弹簧引导/。
问题是,当在 AWS 中作为 Lambda 运行时,它会引发一个无法找到上下文的异常:
html - 背景图像不会仅在 iPhone 设备上显示
我在一个网站上工作,它快完成了,我用这个 StackOverflow 解决了很多问题,非常感谢你。但是我没有找到解决这个问题的方法。所以问题是介绍网站的背景图像不会显示在 iPhone 设备上(桌面、三星、Android 等都可以)。那么有谁知道为什么这个问题只发生在 iPhone 设备上以及如何解决呢?
代码很长,所以我不知道该发送什么。
spring-boot - 是否可以显式配置 Spring Boot 服务器?
我有一个 Spring Boot 应用程序,其中一个依赖项是使用 spring 和嵌入式码头来启动 ad-hoc web 服务器。这导致我的 Spring Boot 应用程序在码头而不是 tomcat 中启动。
我的spring-boot-starter-web:
依赖项:
是否有可能将服务器配置为由 spring boot 显式使用,而不是由依赖树推断?
编辑
我进一步调查了这个问题并创建了一个 repo 来重现这个问题:github.com/svettwer/spring-server-test
org.eclipse.jetty.websocket:javax-websocket-server-impl
导致 spring 从 jetty 开始,不需要任何其他配置。
编辑 2
Spring Boot 2.x 中不再存在该问题
编辑 3 我将删除前面提到的 repo,但这是导致问题的依赖项设置:
spring-boot - 在 spring-boot 中添加 Redis (spring-boot-starter-data-redis) 依赖后出错
当我将以下依赖项添加到 pom.xml
下面的错误来了
2018-05-31 12:02:38.217 INFO 1416 --- [ost-startStop-1] j.LocalContainerEntityManagerFactoryBean:为持久性单元“默认”初始化 JPA EntityManagerFactory 2018-05-31 12:02:39.233 错误 1416 --- [ost-startStop-1] osbcembedded.tomcat.TomcatStarter:启动 Tomcat 上下文时出错。例外:org.springframework.beans.factory.UnsatisfiedDependencyException。消息:创建 com.amd.apps.employee.cloud.AddonApplication 中定义的名称为“registerCorePageControllerServlet”的 bean 时出错:通过方法“registerCorePageControllerServlet”参数 1 表达的依赖关系不满足;嵌套异常是 org.springframework.beans.factory.UnsatisfiedDependencyException:在 URL [jar:file:/C: /Users/shiv/AppData/Local/Temp/employee.cloud-1.0.0.jar-spring-boot-libs-1766ddea-c2ae-424e-9565-d00395eb0d5c/core.cloud-1.0.0.jar!/com/ amd/apps/cloud/service/common/AuthenticationContextImpl.class]:通过构造函数参数3表示的不满足依赖;嵌套异常是 org.springframework.beans.factory.UnsatisfiedDependencyException:在 URL [jar:file:/C:/Users/shiv/AppData/Local/Temp/employee.cloud-1.0.0 中定义名称为“companyServiceImpl”的 bean 创建错误.jar-spring-boot-libs-1766ddea-c2ae-424e-9565-d00395eb0d5c/core.cloud-1.0.0.jar!/com/amd/apps/cloud/service/directory/impl/CompanyServiceImpl.class]:不满意通过构造函数参数 1 表示的依赖关系;嵌套异常是 org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.atlassian. connect.spring.AtlassianHostRepository' 可用:预计至少有 1 个符合自动装配候选资格的 bean。依赖注释:{}
但是,如果我删除此依赖项,则一切正常。Redis 服务已配置、运行且可访问。但是我也看到了下面的消息,在正常执行期间我看不到
2018-05-31 12:02:28.955 INFO 1416 --- [main] .sdrcRepositoryConfigurationDelegate:找到多个 Spring Data 模块,进入严格的存储库配置模式!2018-05-31 12:02:29.071 INFO 1416 --- [main] .RepositoryConfigurationExtensionSupport:Spring Data JPA - 无法安全地识别存储库候选接口 com.atlassian.connect.spring.AtlassianHostRepository 的存储分配。2018-05-31 12:02:29.171 INFO 1416 --- [main] .sdrcRepositoryConfigurationDelegate:找到多个 Spring Data 模块,进入严格的存储库配置模式!
spring - 通过 Spring Boot 启动器包含配置文件
我在使用自定义 Spring Boot 启动器时遇到问题。启动器如何导致包含配置文件并从配置服务器中提取相关配置?
也许我的用例是独一无二的,因为我没有在网上找到任何有用的信息。我在企业环境中工作,这个启动器供我的团队使用,所以我们能够控制一些在开源世界中可能没有意义的东西(比如配置文件名称)。
这是场景:我们有一个 Spring Cloud Config Server 正在运行以提供配置。在我们的 Spring Boot 项目中,我们对某些配置文件名称进行了标准化,例如“prod”和“nonprod”,以控制我们不同环境中的配置。我正在尝试创建一个启动器来提供可重用的功能。例如,假设我正在创建一个启动器,它为为我们执行加密工作的设备提供接口。此启动器将需要设备的 IP 地址以及生产和非生产之间不同的各种其他配置。
在配置存储库中,我将拥有诸如 application.yml、application-nonprod.yml、application-nonprodEncryption.yml 等文件。
我的目标是让自定义加密启动器在应用程序中包含该启动器时自动包含 nonprodEncryption 配置文件。通过这样做,不需要加密的应用程序不会加载与加密相关的属性。
以下是我迄今为止的实验结果:
在应用程序的 bootstrap.yml 中,我可以放置一个块,例如
并产生所需的结果(即从配置服务器加载并使用 application-nonprodEncryption.yml 文件),但这是一个不受欢迎的解决方案,因为每个使用我的自定义启动器的应用程序都需要包含此样板配置。
当我把上面的配置移到starter的bootstrap.yml中,好像没什么效果。
当我将上述配置移动到启动器的 application.yml 时,它似乎已被应用(即它显示在
The following profiles are active:
列表中),但在生命周期中为时已晚,无法从配置服务器中提取适当的配置。
我考虑过的其他事情:
为什么不直接将所有配置放入主配置文件配置文件(例如 application-nonprod.yml)?从关注点和维护的角度来看,我想保持各个启动器的配置彼此隔离。此外,一些配置数据比其他配置数据更敏感,所以我不喜欢将所有配置公开给所有应用程序的想法,因为许多应用程序不需要一些更敏感的配置。是的,他们可以得到它,但是如果他们不需要它,为什么要把它加载到他们的记忆中呢?
为什么不在我们启动应用程序时指定额外的配置文件?这些应用程序将在云平台上运行。该平台将根据应用程序运行的层级指定“prod”或“nonprod”作为配置文件。我想在平台级别而不是应用程序级别管理它,所以我想要在应用程序提供的配置文件列表启动以在所有应用程序中统一(例如,将 nonprodEncryption 添加到列表中只会让我陷入与上述相同的情况 - 所有应用程序都将具有所有配置,所以我不妨将它们全部放在一个文件中)。
我们目前使用的是 Spring Boot 1.5.10。
关于如何实现我想要做的任何想法?
java - 设置clientId时,多个主题的多个ActiveMQ侦听器无法在spring boot项目中连接
我正在使用 spring-boot-starter-activemq。
当我尝试使用多个侦听器进行侦听时,每个侦听器都针对具有 clientId 的不同主题,然后只有一个侦听器能够随机连接到一个主题,剩余的不连接说已经与给定的 clientId 连接。
下面是属性集
- spring.activemq.broker-url =tcp://localhost:61616?jms.clientID=test
- spring.jms.listener.acknowledge-mode=auto
spring.jms.listener.concurrency=1
spring.jms.pub-sub-domain=true
==================================================== =======================
错误信息
无法刷新目标“TOPIC_1”的 JMS 连接 - 使用 FixedBackOff{interval=5000, currentAttempts=5, maxAttempts=unlimited} 重试。原因:代理:pdt-topics - 客户端:测试已从 tcp://localhost:61616* 连接
annotations - gRPC spring-boot-starter 无法绑定@GRpcGlobalInterceptor?
我在用着
我想使用brave-instrumentation-grpc 监控我的grpc 服务器应用程序。所以我遵循了以下建议:
https://github.com/LogNet/grpc-spring-boot-starter#interceptors-support
https://github.com/openzipkin/brave/tree/master/instrumentation/grpc
问题是:我定义的 GlobalInterceptor 没有绑定到 grpcserver。
debug deep insde GRpcServerRunner.class,似乎代码没有返回 beansWithAnnotation
beansWithAnnotation 为空。
我的用法有问题吗?
spring-boot - Togglz 不从 application.yml 获取 Spring-Boot 配置
我尝试遵循Spring Boot 的 Togglz 指南,因此添加了所有必要的依赖项,创建了一个功能枚举:
,配置了一个 EnumBasedFeatureProvider 以使 Spring/Togglz 知道该枚举:
这一切都很好,直到我编写了一个小单元测试来查看功能切换配置是否应用于我的枚举(来自 application.yml):
测试:
所以没有达到我的预期结果(功能激活)。然后我添加了默认启用的注释,我的功能被激活了。根据指南(我是如何理解的),我不需要添加任何从 Spring 读取我的配置并让 Togglz 知道它们的内容。GitHub 上的 Togglz 示例在这方面也没有做任何事情(通过查看 Togglz 在 Spring-Boot 启动器中提供的内容,已经设置了一个特性属性提供程序)。也许我选择了一些错误的版本(Spring boot 2.0.1.RELEASE 和 Togglz 2.5.0.Final)?我做错了什么?