问题标签 [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.
java - 使用在运行时确定的动态原始值的构造函数依赖注入
我有在朗姆酒时需要动态值的构造函数,并且想知道它是否
仍然可以使用依赖注入。请让我知道在这种情况下如何使用 spring 进行依赖注入。
java - Spring:使用@Configuration 动态返回一个Bean
假设您需要动态(在运行时)获取给定类型的子类型的实例。
您将如何使用 Spring IoC 实现这一目标?
java - 使用弹簧问题制作带有菜单栏的摆动框架
我正在使用弹簧制作带有菜单栏的摆动框架,我的问题是,当我启动框架时,菜单栏根本没有出现,我将向您展示 beans.xml 和 bean 类,请告诉我为什么菜单栏没有出现,我有 4 个 bean 如下:
MenuItem bean:
菜单豆:
MenuBar bean:
和框架豆:
这是我的 bean 配置文件 beans.xml:
如果代码很长,谢谢和抱歉。
java - 如何在原型之间共享实例(Spring LoC)
要在其中运行作业,TaskExecutor
我需要实例化实现Runnable
接口的新作业。为了解决这个问题,我将创建一个名为 Job "on Demand" 的新 Spring Prototype Bean。
但是在我的应用程序中 aJob
有两个字段LocationChanger
和QueryTyper
. 这两个应该共享由 a 创建的同一个WebDriver
实例WebDriverFactory
。
现在的问题是如何用 Spring 设计这个?
这是相关代码:
非常感谢!
更新 1:
一种可能的解决方案可能是仅WebDriver
在 Job中自动装配,然后将此 WebDriver 注入到and中。但后来我用手接线。@PostConstruct
LocationChanger
QueryTyper
java - 将 MessageSource 注入枚举
我正在尝试将 ENUM 用于表单:选择如下:
使用看起来像这样的枚举:
问题是我似乎无法弄清楚如何注入 MessageSource。我尝试添加@Component 和@Autowired(因为没有默认构造函数而出错。然后我尝试将@Component 切换为@Configurable。然后我尝试删除这两个注释并实现MessageSourceAware。在所有情况下,当我进入 getResourceBundleLable()。
最终,我想要完成的是使用枚举构建选择选项,但使其使用正确的资源包和本地。我只是在不可行的事情上浪费时间吗?
java - 使用 Spring 注解注入父类依赖项的正确方法
我有以下代码 -
道.java
dbContext.xml
应用程序上下文.xml
问题是NamedParameterJdbcDaoSupport
需要数据源才能工作。由于这是超类的属性,而不是我自己的类,所以我能想到的让它工作的唯一方法是 -
这很丑陋。我可以指定我想自动装配我的 bean 的所有属性吗?就像是 -
这在春天可能吗?或者,注入超类依赖项的最优雅方式是什么?
编辑: 我已经知道这可以使用我目前使用的 XML 来完成。我想知道仅使用注释可以做到的最好的事情。
java - 哪些类区域在 Spring 中作为 bean 加载?
我是 Spring 框架的新手。在阅读依赖注入时,我发现了两种注入 bean annotationbased 和基于 xml 的方法。
在 xmlBased 中,在应用程序上下文 xml 文件中定义一个 bean 非常简单。
例如。
但是在基于注释的配置中,我们只需要编写
我想知道它将如何加载 "wild" 和 "zoo" 。
这是否意味着它将加载所有bean或仅加载@Service注释下编写的特定bean..???
我也想知道它是如何加载的..??? 加载应用程序时是否所有bean都被初始化..??
谢谢 ...!!
java - 基于类的包注入
我有 2 个包含类的模块:
所有这些 DAO 都依赖于同一个服务,但我需要根据包注入不同的实例。
我的意思是模块博客应该有一个特定的实例MyService
,模块用户应该有另一个实例MyService
。
我不想创建 2 个命名服务,因为有一天我可能想为所有 DAO 使用相同的服务。或者我也可以为特定类注入另一个特定实例......
有没有办法基于类的包注入服务?
一种说法:
foo
将(的实例)注入MyService
到位于的类中blog.*
bar
将(的实例)注入MyService
到位于的类中users.*
但是让我所有的班级都没有意识到这一点!他们的配置应该只声明“注入一个实例MyService
”。
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。
我怎样才能解决这个问题。
java - 从 @ComponentScan 中排除 @Component
我有一个要从@ComponentScan
特定中排除的组件@Configuration
:
否则,它似乎与我项目中的其他类发生冲突。我不完全理解碰撞,但如果我注释掉@Component
注释,事情就会像我想要的那样工作。但是其他依赖这个库的项目希望这个类由 Spring 管理,所以我只想在我的项目中跳过它。
我尝试使用@ComponentScan.Filter
:
但它似乎不起作用。如果我尝试使用FilterType.ASSIGNABLE_TYPE
,我会收到一个奇怪的错误,即无法加载一些看似随机的类:
原因:java.io.FileNotFoundException:类路径资源[junit/framework/TestCase.class]无法打开,因为它不存在
我也尝试使用type=FilterType.CUSTOM
如下:
但这似乎并没有像我想要的那样从扫描中排除组件。
我该如何排除它?