问题标签 [spring-ioc]
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.
dependency-injection - 带有泛型的 Spring IOC - 基于依赖的类型参数注入依赖项
我想用一个类型参数实例化一个泛型 bean,并根据这个类型参数连接正确的依赖项。
假设我有:
然后我想像这样使用 Parent :
Spring 将抱怨“预期的单个匹配 bean,但发现 2:childString,childInteger”。
在这种情况下,连接我的豆子的最佳方法是什么?
java - 升级后,Eclipse 测试通过,Maven 测试失败,Spring 抛出 BeanCreationException / NoClassDefFoundError $proxy10
在将 Spring / Hibernate 升级到最新版本后,我在 maven 下运行测试时遇到了问题。
这是我的 Spring 上下文配置:
Spring 正在尝试将上下文中的 Spring bean 自动装配在一起,但在尝试创建事务管理器或事务代理管理器工厂时失败,目前尚不清楚。
我正在使用以下依赖项:
org.permacode 项目中的所有类都相对简单,这里的整个测试旨在验证应用程序对 Spring 上下文和事务处理的实现和管理,因此该项目中的本地类如 AtomicConfigurationBean 和 ContextManager。除了包装 JPA 实体管理器工厂或 Spring 应用程序上下文之外,这些实际上并没有做任何危险的事情。
我在那里有多个 JPA 提供程序依赖项,因为该项目允许在它们之间进行交换 - 这不是错误。我认为这不是问题的根源,因为我怀疑 cglib 或其他与代理有关的东西是这里的问题。
昨天我努力寻找解决方案,筛选了大量关于 BeanCreationException 和 NoClassDefFoundErrors 的求助呼声,但通常受害者的类路径中总是缺少一些可靠的类。在这种情况下,尽管 Spring 抱怨 $proxy10 我认为它是通过 IOC 配置的一个或另一个 bean 的名称。
我不只是在寻找解决方案,我也会赞成或接受关于我应该从头开始解决这个问题的方法的好建议,假设任何顿悟都会迟到。
java - SimpleTask 执行器线程中的实体管理器对象
我想异步执行一些数据库操作。我正在使用弹簧 3.0。所以我使用了@Async 注释。
AutoCarryover.class
MYDAO类:
我收到以下错误
org.springframework.dao.InvalidDataAccessApiUsageException:没有事务正在进行;嵌套异常是 javax.persistence.TransactionRequiredException:没有正在进行的事务
引起:javax.persistence.TransactionRequiredException:没有事务正在进行
java - 尽管使用了@Primary,但两个具有相同名称的 bean 仍会导致 ConflictingBeanDefinitionException
我有一个应用程序初始化程序类,用于将特定于应用程序的数据插入数据库。
还有一个DevApplicationInitializer
类用于在开发人员机器上使用一些示例数据初始化数据库(部署生产代码时排除该类)。
直到我为 bean 命名(只有@Component
注释) - 一切正常 - 当DevApplicationInitializer
可用时,它被实例化而不是ApplicationInitializer
. 当我给他们一个applicationInitializer
名字时,就会抛出异常:
为什么@Primary
当bean有名字时注释不被尊重?我需要他们拥有一个,因为我在其他地方确保初始化程序已经用@DependsOn("applicationInitializer")
注释实例化。
spring - 无法获取 Spring bean
我有一个 Spring 项目,我想在其中获取在我的 Spring beans XML 文件中定义的特定 Spring bean。我的 Spring bean XML 文件位于/WEB-INF/spring/root-context.xml
.
这是我在 Service 类中的代码:
这是我编译时遇到的错误:
java - Spring的事件模型
我是春天的新手
我发现了有关 Spring 事件模型限制的信息:
“它不是事务性的。如果一个事件被发布,那么在处理监听器之后发生错误,它们不能被取消。没有办法返回一个发布的消息。但是,这些处理,如果它们在同一个线程中执行, 可以与发送者参与相同的事务。这意味着如果处理侦听器只是操作数据库,它们也将是事务性的。”
有人可以向我解释一下粗体字吗?侦听器执行的数据库处理是否总是与发送者在同一个线程上进行?
java - Spring Application Context没有从application.properties文件中获取属性
我正在使用 spring 和 gradle 创建一个控制台应用程序。我想在我的 application.properties 文件中包含信息以供我的程序访问。
上图是我的类结构对于这个工具的样子。
这是applicationContext文件
这是 application.properties 文件
我现在正试图在我的主类(驱动程序)中使用这个键
当我这样做时,会打印 null 说明 cacheRefreshTime 没有被初始化。
这个的堆栈跟踪看起来像
任何想法如何解决这一问题?提前致谢。
我试图使该字段不是静态的,并且我还尝试添加 PropertyPlaceholderConfigurer。我的 applicationContext 看起来像
当我运行此代码时,我得到相同的堆栈跟踪。Null 仍然打印。我创建了一个单独的类,它有一个非静态字段,并且只有一个打印该字段的方法。然后我的主类创建该虚拟类的实例并调用打印字段方法。此时将打印 null 。
在我的 applicationContext 文件中,当我尝试说 class ="org.spring..." 时,第 7 行出现错误
它说类或接口除外。好像它没有找到类。但是我在 build.grade 中包含了以下依赖项
我的代码编译并运行良好,问题是该字段为空,尽管堆栈跟踪表明已找到并加载了 application.properites。
java - Spring 依赖问题 - 找不到匹配的编辑器或转换策略
我有一个 Web 应用程序在部署时失败。我收到以下错误:
我正在使用以下方法在web.xml中加载我的配置 XML:
该错误来自我的spring-security.xml文件,该文件具有:
我的CustomLoginSuccessHandler类是这样的:
我是 spring 新手,但我想这是由于 bean 依赖项配置。
1、spring bean依赖的顺序是什么,是用web.xml中的xml配置顺序吗?
2. 假设我在一个 XML 文件中引用 bean A,该文件定义在下面引用它的位置,它会产生任何问题吗?
编辑
我的 LDAPUtil 类是这样的:
java - 如何使用 Spring 进行参数化依赖注入?
我想知道如何使用 Spring 依赖注入解决以下问题:
鉴于我有一个Transactions
不同类型的列表,我需要根据它们的TransactionType
. 所以我有一个TransactionController
这样的TransactionService
:
在不使用 Spring IoC 的情况下,我将使用简单工厂模式来返回基于 Type 枚举的实现:
我怎样才能实现相同的注入TransactionService
?我不能使用@Qualifier
注释,因为实现取决于TransactionType
. 我偶然发现 spring 文档中的一篇文章显示了使用工厂方法进行实例化,但我不知道如何将参数传递给它。
我相信我可能不得不对 Spring IoC 使用不同的设计。我想因为我一直使用简单工厂、工厂和抽象工厂模式,我看不出有什么不同的方法来解决这个问题……</p>
有人也可以为我格式化吗?android 应用程序似乎没有这样做,对不起!
spring - 为什么@Autowired 在构造函数中失败,而不是在 WebMvcConfigurerAdapter 子类中的实例变量中失败
我正在通过 Spring MVC 工作,我有很多Formatter<T>
类,像这样
我有我的定制MvcInfrastructureConfiguration
课程
我对以下内容感到困惑:
如果我使用
formatters
实例变量永远不会被注入,我得到一个 NullPointerException ..
但是如果我使用
一切正常。。
为什么?我认为@Autowired 应该不管他的位置如何都可以工作(当然,由于测试的问题,在非基础设施 bean 的实例变量中使用它是不好的做法)