问题标签 [spring-context]
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.
java - Spring Boot 应用程序:我什么时候必须关闭上下文?
我应该总是手动关闭弹簧上下文吗?
写作是否有任何差异(关于上下文关闭):
和
?
spring - 最新 Spring 版本的 Spring 应用程序上下文 bean 创建问题
我有一个使用旧 spring.jar (1.2.6) 的项目,从这个项目中,我预计会调用一个较新版本 (spring version 5.0.7) spring boot 项目的方法。以下是我在旧版本项目中创建 bean 的方式。
创建 Autowired bean 时出现 NullPointer 异常。
从 XML 创建 bean:spring test-context.xml:
示例父上下文.xml:
Java代码旧spring项目:
像上面一样调用“TestPci”类,但是当尝试使用上面的调用时,它实际上调用了“TestPci”.“testing”方法。但是自动连接为“testWebClientService”的对象返回为空。我想创建对象,而不是返回 null。
新春版类:
添加用于从较新版本的spring调用TestPci类的junit:
java - 使用spring xml创建bean
如何为下面的 java 类创建 xml bean。我正在使用旧的 spring 版本,我需要为以下“TestSample”类创建一个 xml bean。
客户端服务类。
spring - 使用构造型注释创建 Bean 时,Spring Context 似乎无法识别它。抛出 NoSuchBeanDefinitionException
我正在关注一本书来学习 Spring 生态系统的一些模块。目前正在尝试使用构造型注释创建 bean。我编写了一个简单的 Java 类并将其标记为组件:
然后我创建了一个扫描 Parrot 组件的@Configuration 类:
在我的主要方法中,我正在使用上面的配置创建一个 spring 上下文,并且我正在尝试访问 bean Parrot:
我尝试获取 Parrot bean 的代码行引发以下异常: NoSuchBeanDefinitionException: No qualifying bean of type 'main.parrot.Parrot' available
我只是不明白为什么这个配置找不到 Parrot bean。如果有人可以帮助我澄清这个问题,我将非常感激。
先感谢您
java - 绑定两个属性类,我需要将它们合并为一个并绑定它
我正在一个库中工作,该库通过 application.yml 文件中的 Spring 属性配置属性类。
我正在从不推荐使用的前缀(com.myapp.deprecated)转移到新的前缀(com.myapp.newprefix)。我想暂时保留已经使用过时前缀的旧应用程序,以允许迁移期。为了实现这一点,我制作了两个类来扩展一个包含共享属性的类,就像这样。
*注意我使用lombok,所以它们上面会有@Data 注释。
现在,当我去绑定属性文件时,我目前正在将不推荐使用的类和新类绑定到实现 EnvironmentAware 的配置类上。
我的问题是,我想采用 DeprecatedPropertyClass 并将该类中的数据合并到 newPropertyClass,然后将其绑定到上下文以供其他类使用。但是,实现 ApplicationContextAware 发生得太晚了,我认为我不能在已经实例化的对象上使用 Binder。我想我可以使用 BeanDefinitionBuilder 但这将需要我重新定义对象,并且我会有多个相同类型的 bean 浮动。有没有办法将这两个 Properties 类合并在一起,以便我可以将它们用作单个 bean?
java - 我可以使用 Spring 的 @DateTimeFormat 强制使用语言环境吗?
我在通过 HTTP POST 端点传入的对象字段上使用 Spring 的 @DateTimeFormat 注释和自定义模式。特定字段在前端 UI 上使用 javascript 小部件设置,该小部件始终使用“en_us”区域设置。但是,如果浏览器设置为“en_us”以外的区域设置,则后端的日期/时间解析可能会失败,因为@DateTimeFormat 使用浏览器(或 HTTP 标头)区域设置而不是“en_us”。
无论如何强制 DateTimeFormat 注释使用“en_us”语言环境?
我意识到 DateTimeFormat 通过使用 HTTP 标头语言环境正在做有意义的事情。但是,由于我控制前端,并且暂时不想更改前端 javascript 小部件,我想知道是否有办法设置 DateTimeFormat 的语言环境。
spring - 如何避免在子测试上下文中对 Spring bean 进行第二次实例化
我为我的集成测试创建了一个嵌入式 Sftp 服务器 bean,我分别使用 afterPropertiesSet 连接了服务器的启动和关闭并破坏了生命周期
这是我的配置类
现在,当我在我的测试类中注入 bean 时,如下所示:
而且我同时运行所有测试类,我发现对于使用@ExtendWith(SpringExtension.class) 注释的测试类,它使用的是相同的上下文(这是可以理解的,因为我猜是spring缓存它),因此是bean生命周期方法不会再次执行,但令我惊讶的是,对于使用 @SpringBatchTest 注释的类,我注意到 bean 的生命周期钩子再次执行!这是一种不方便的行为,因为我希望应用程序上下文为所有测试启动一次服务器并在这些测试结束时关闭它(如果我只对所有测试使用 @ExtendWith(SpringExtension.class) 就是这种情况我的测试课)。
注意:我的 ExampleThreeIT 测试类需要使用 @SpringBachTest。
java - 循环依赖 Spring-context 5.3.9 到 5.3.13 的问题
我已将我的 org.springframework:spring-context:5.3.9 更新为 5.3.13
并开始遇到循环依赖问题。
我的代码看起来像
错误 请求的 bean 当前正在创建中:是否存在无法解析的循环引用?应用上下文中一些bean的依赖形成了一个循环:
┌──────┐ | myMessageHandler(字段私有 org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler ...myMessageHandler)└─────┘</p>
请帮助我解决上述问题
谢谢布山
java - FullyQualifiedAnnotationBeanNameGenerator 不存在于最新的 spring-context
我正在使用来自 org.springframework:spring-context 的 FullyQualifiedAnnotationBeanNameGenerator。随着最新的 pom 升级,我看到这个类在 spring-context jar 中不存在。现在这个类的替代品是什么?我正在使用 org.springframework:spring-context:jar:4.3.25.RELEASE