问题标签 [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.

0 投票
2 回答
93 浏览

java - 使用在运行时确定的动态原始值的构造函数依赖注入

我有在朗姆酒时需要动态值的构造函数,并且想知道它是否
仍然可以使用依赖注入。请让我知道在这种情况下如何使用 spring 进行依赖注入。

0 投票
2 回答
134 浏览

java - Spring:使用@Configuration 动态返回一个Bean

假设您需要动态(在运行时)获取给定类型的子类型的实例。

您将如何使用 Spring IoC 实现这一目标?

0 投票
1 回答
526 浏览

java - 使用弹簧问题制作带有菜单栏的摆动框架

我正在使用弹簧制作带有菜单栏的摆动框架,我的问题是,当我启动框架时,菜单栏根本没有出现,我将向您展示 beans.xml 和 bean 类,请告诉我为什么菜单栏没有出现,我有 4 个 bean 如下:

MenuItem bean:

菜单豆:

MenuBar bean:

和框架豆:

这是我的 bean 配置文件 beans.xml:

如果代码很长,谢谢和抱歉。

0 投票
1 回答
802 浏览

java - 如何在原型之间共享实例(Spring LoC)

要在其中运行作业,TaskExecutor我需要实例化实现Runnable接口的新作业。为了解决这个问题,我将创建一个名为 Job "on Demand" 的新 Spring Prototype Bean

但是在我的应用程序中 aJob有两个字段LocationChangerQueryTyper. 这两个应该共享由 a 创建的同一个WebDriver实例WebDriverFactory

现在的问题是如何用 Spring 设计这个?

架构的 UML

这是相关代码:

非常感谢!

更新 1: 一种可能的解决方案可能是WebDriver在 Job中自动装配,然后将此 WebDriver 注入到and中。但后来我用手接线。@PostConstructLocationChangerQueryTyper

0 投票
2 回答
2877 浏览

java - 将 MessageSource 注入枚举

我正在尝试将 ENUM 用于表单:选择如下:

使用看起来像这样的枚举:

问题是我似乎无法弄清楚如何注入 MessageSource。我尝试添加@Component 和@Autowired(因为没有默认构造函数而出错。然后我尝试将@Component 切换为@Configurable。然后我尝试删除这两个注释并实现MessageSourceAware。在所有情况下,当我进入 getResourceBundleLable()。

最终,我想要完成的是使用枚举构建选择选项,但使其使用正确的资源包和本地。我只是在不可行的事情上浪费时间吗?

0 投票
4 回答
17660 浏览

java - 使用 Spring 注解注入父类依赖项的正确方法

我有以下代码 -

道.java

dbContext.xml

应用程序上下文.xml

问题是NamedParameterJdbcDaoSupport需要数据源才能工作。由于这是超类的属性,而不是我自己的类,所以我能想到的让它工作的唯一方法是 -

这很丑陋。我可以指定我想自动装配我的 bean 的所有属性吗?就像是 -

这在春天可能吗?或者,注入超类依赖项的最优雅方式是什么?

编辑: 我已经知道这可以使用我目前使用的 XML 来完成。我想知道仅使用注释可以做到的最好的事情。

0 投票
3 回答
902 浏览

java - 哪些类区域在 Spring 中作为 bean 加载?

我是 Spring 框架的新手。在阅读依赖注入时,我发现了两种注入 bean annotationbased 和基于 xml 的方法。

在 xmlBased 中,在应用程序上下文 xml 文件中定义一个 bean 非常简单。

例如。

但是在基于注释的配置中,我们只需要编写

我想知道它将如何加载 "wild" 和 "zoo" 。

这是否意味着它将加载所有bean或仅加载@Service注释下编写的特定bean..???

我也想知道它是如何加载的..??? 加载应用程序时是否所有bean都被初始化..??

谢谢 ...!!

0 投票
1 回答
77 浏览

java - 基于类的包注入

我有 2 个包含类的模块:

所有这些 DAO 都依赖于同一个服务,但我需要根据包注入不同的实例。

我的意思是模块博客应该有一个特定的实例MyService,模块用户应该有另一个实例MyService

我不想创建 2 个命名服务,因为有一天我可能想为所有 DAO 使用相同的服务。或者我也可以为特定类注入另一个特定实例......

有没有办法基于类的包注入服务?

一种说法:

  • foo将(的实例)注入MyService到位于的类中blog.*
  • bar将(的实例)注入MyService到位于的类中users.*

但是让我所有的班级都没有意识到这一点!他们的配置应该只声明“注入一个实例MyService”。

0 投票
2 回答
2294 浏览

java - Spring 通用 Hibernate DAO

我正在编写一个所有 Hibernate DAO 类都将继承的通用 Hibernate DAO 类。我正在尝试使用 spring 为类注入依赖项,但出现异常。

我的派生类

我的spring-xml

当我运行它时,我得到以下堆栈跟踪:

引起:org.springframework.beans.factory.BeanCreationException:无法自动装配字段:private java.lang.Class com.example.dao.HibernateDaoImpl.clazz;嵌套异常是 org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type of [java.lang.Class] found for dependency: 预期至少有 1 个 bean 有资格作为此依赖项的自动装配候选者。依赖注释: org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:514) 中的 {@org.springframework.beans.factory.annotation.Autowired(required=true)}。 beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87) 在 org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor。postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:285) ... 36 更多 原因:org.springframework.beans.factory.NoSuchBeanDefinitionException:没有找到符合条件的类型 [java.lang.Class] 的 bean 依赖:预计至少有 1 个 bean此依赖项的自动装配候选者。依赖注释:在 org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:986) 在 org.springframework.beans 的 {@org.springframework.beans.factory.annotation.Autowired(required=true)}。 factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:856) 在 org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:768) 在 org.springframework.beans。

我怎样才能解决这个问题。

0 投票
7 回答
188194 浏览

java - 从 @ComponentScan 中排除 @Component

我有一个要从@ComponentScan特定中排除的组件@Configuration

否则,它似乎与我项目中的其他类发生冲突。我不完全理解碰撞,但如果我注释掉@Component注释,事情就会像我想要的那样工作。但是其他依赖这个库的项目希望这个类由 Spring 管理,所以我只想在我的项目中跳过它。

我尝试使用@ComponentScan.Filter

但它似乎不起作用。如果我尝试使用FilterType.ASSIGNABLE_TYPE,我会收到一个奇怪的错误,即无法加载一些看似随机的类:

原因:java.io.FileNotFoundException:类路径资源[junit/framework/TestCase.class]无法打开,因为它不存在

我也尝试使用type=FilterType.CUSTOM如下:

但这似乎并没有像我想要的那样从扫描中排除组件。

我该如何排除它?