Spring`ApplicationContext`类
无法在使用 @ExtendWith(SpringExtension.class) 运行的 Spring Boot 单元测试中注入应用程序上下文
我正在尝试为使用 Spring boot 编写的 SOAP 端点编写单元测试。最初我使用 @RunWith(SpringJUnit4ClassRunner.class) 编写测试,所有测试均成功执行。然而...
ApplicationContextAware 在 spring-boot 中不起作用
我正在尝试在非组件类中使用 Brave Tracer 。 该代码在主项目中运行良好,设置上下文和获取上下文都在打印。但是当我生成 jar 文件并导入...
以下哪种方式更适合获取Application实例 在 Application.onCreate() 中初始化静态字段并提供对其的静态访问 公共类 MyApplication 扩展
ApplicationListener<ContextRefreshedEvent>在App启动时不执行
我是编程新手,尝试制作一个简单的应用程序,根据手册实现用户、角色和权限。我使用 Sprint 3.3.3 和 Java 17。 手册建议创建...
我是Spring和Springboot的初学者。我目前正在学习 Spring 事件,在发布事件时,我反复收到
为什么 ApplicationContextProvider 在另一个系统上抛出 NullPointerException
我在 Win 10 和 Win Server 2019 上使用我的 Spring Boot 3.2.4 应用程序,它运行良好。我知道我的应用程序架构不好,但它有效。在我不得不迁移到 Ubuntu 24.04 后,运行...
启动时出现异常:cvc-complex-type.2.4.c:匹配通配符严格,但找不到元素'wss:绑定'的声明
我正在 Eclipse 中启动 JBoss 服务器,在启动过程中出现以下错误: JBWEB000287:将上下文初始化事件发送到类 org.springframework.web 的侦听器实例时发生异常。
JUnit、Mockito 和 Spring ApplicationContext:模拟属性时遇到问题
问题描述:我无法为特定的 spring bean 设置模拟以返回我的开发盒上正确的模拟测试资源位置,而不是运行时 Web 应用程序...
即使存在,也无法将 XML 配置文件加载到 ClassPathXmlApplicationContext 中
我尝试在 Spring 应用程序中创建一个 bean,但在将 XML 配置文件加载到 ClassPathXmlApplicationContext 时遇到 IOException。 测试类代码: 公开课测试{
Spring Boot 应用程序“bean 类的 bean 名称与现有冲突” - 如何从 3rd 方库/依赖项中排除包/类?
我有一个 Spring Boot 应用程序,最近从 1.x.x 迁移到 2.x.x。我正在使用一些第 3 方库/JAR 使用 Prometheus 进行一些指标记录。 问题是我有 (2) Java
我有3组测试:单元测试、集成测试、验收测试。 后两组启动 ApplicationContext:最小用于“集成”,完整用于“接受”。 两个应用程序上下文都注册队列
从 viewModel 中获取正确的文化资源字符串,在 kotlin jetpack compose 中注入上下文
我正在尝试从视图模型和用例中获取资源字符串,我有六个字符串翻译资源文件,但我总是得到默认的字符串翻译,没有得到既定的邪教...
Bean 定义未从 Spring applicationContext.xml 文件加载
我有一些SQL查询以Map的形式存储在applicationContext.xml文件中 我有一些 SQL 查询以 Map 的形式存储在 applicationContext.xml 文件中 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"> <util:map id="queries" key-type="java.lang.String" value-type="java.lang.String"> <description>Map contain SQL queries to handle ETL Framework database operations</description> <entry key="getJobById" value="SELECT * FROM etl_jobs WHERE job_id = ?"/> <entry key="getJobsByName" value="SELECT * FROM etl_jobs WHERE job_name LIKE ?"/> ... </util:map> 在我的 Java 代码中,我有以下内容: @Repository @ImportResource("classpath:applicationContext.xml") public class EtlDataRepository { private static final Logger LOG = LoggerFactory.getLogger(EtlDataRepository.class.getName()); @Autowired private JdbcTemplate jdbc; private Map<String, String> queries; ... } 我也为这个类提供了 setter 和 getter。 但是,当应用程序启动时,查询 bean 并未加载,即它为 null。 几年前我写了非常相似的代码,并且运行得很好。 Spring-boot 从 v.2.3 到 v.3.2 发生了哪些变化导致它无法工作以及如何修复它? 将@ImportResource移至顶部,即@SpringBootApplication没有改变任何东西。将 @Autowired 添加到 Map 查询会导致以下错误: **************************** 应用程序无法启动 描述: com.visa.vms.etl.daemon.dao.EtlDataRepository 中的字段查询 需要一个类型为“java.util.Map”的 bean,但无法找到。 注入点有以下注释: @org.springframework.beans.factory.annotation.Autowired(必需= true) bean 在 applicationContext.xml 文件中定义。看起来这个上下文没有被导入。 在 SpringBoot v.2.3 的旧应用程序中使用了完全相同的代码(具有不同的地图内容),并且无需自动装配即可工作。 通过@Qualifier("queries"),我能够“连接”所描述的(xml+)地图......就像这样: package com.example.demo; import java.util.Map; import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ImportResource; @SpringBootApplication @ImportResource("classpath:applicationContext.xml") public class Demo { public static void main(String[] args) { SpringApplication.run(Demo.class, args); } @Bean InitializingBean hello(/*@Autowired*/ @Qualifier("queries") Map<String, String> queries) { return () -> System.err.println(queries); } } ...没有强有力的论据,为什么它不应该在任何 Bean/Repository/Service 中工作。 不过,我无法这么快地重现错误:省略限定符至少会填充(以某种方式在默认快速入门中)一个空地图。 要重现“应用程序启动失败”,我们可以使用: @Bean InitializingBean hello2(Map x) { return () -> System.err.println(x); } ,其中也不是: (参数)名称符合条件 (或)声明泛型类型参数。 它为我们提供了(在 spring-boot 快速入门中): ... *************************** APPLICATION FAILED TO START *************************** Description: Parameter 0 of method hello2 in com.example.demo.Demo required a single bean, but 5 were found: - queries: defined in unknown location - systemProperties: a programmatically registered singleton - systemEnvironment: a programmatically registered singleton - contextParameters: a programmatically registered singleton - contextAttributes: a programmatically registered singleton @价值替代品 这也是可能的: //..somewhere in a spring bean (aware of applicationContext.xml)... @Value("#{queries}") Map<String, String> queries; ... (org.springframework...)@Value + SpEL 表示“‘查询’ bean”+ 匹配字段/参数。
对于常规 Servlet,我想您可以声明一个上下文侦听器,但是对于 Spring MVC,Spring 会让这变得更容易吗? 此外,如果我定义了一个上下文侦听器,然后需要访问...
此代码如何解决“资源泄漏:'context'从未关闭”警告?
我是 Spring 框架的新手,在执行下面的代码时,我收到警告“资源泄漏:‘上下文’从未关闭” 包 com.programmingtechie.examples; 导入 org.springframework.beans.
JUnit Spring Boot Appliction 中的“无法为 WebMergedContextConfiguration 加载 ApplicationContext”错误
部门控制器测试是部门控制器类的文本类。但是,出于某种原因,它会抛出错误:“无法为 WebMergedContextConfiguration&
我正在尝试将应用程序从 WebSphere (8.5) 迁移到 WildFly (20)。我已经使用应用程序上下文来配置 Web 服务模板。我在其中使用了密钥库 bean。当我部署
Java 上下文密钥库 Bean 使无法访问的 HTTPS 地址
我正在尝试将应用程序从 webphere (8.5) 移动到 wildfly (20)。我已经使用应用程序上下文来配置 Web 服务模板。我在其中使用了密钥库 bean。当我部署
基于XML上下文的Bean不能执行构造函数注入:没有找到默认构造函数。
我正在学习Spring框架(没有SpringBoot,为了了解它的工作原理)。我在applicationContext.xml文件中定义了这个bean。
基于XML上下文的Bean不能执行构造函数注入:没有找到默认构造函数。
我正在学习Spring框架(不使用Spring Boot,以便了解它的工作原理)。我在applicationContext.xml文件中定义了这个bean。