问题标签 [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 回答
9405 浏览

spring - 带有 @Bean 注释的 BeanPostProcessor 不起作用

我正在尝试创建一个BeanPostProcessor用于将一些值注册到地图。

如果我通过 xml 定义创建 bean 实例,则工作正常BeanPostProcessor,但如果我将 bean 定义更改为@Configuration它不起作用。

后处理器

豆配置

组件扫描配置

如果我使用上述配置,应用程序就会挂起。但是,如果我使用下面给出的基于 xml 的配置,它就可以正常工作。

我在这里做错了什么?

0 投票
1 回答
1669 浏览

spring - 春季创建 bean 失败

这是日志

这是我的 xml 文件中的条目..

帮我解决问题提前谢谢..

0 投票
2 回答
1251 浏览

spring - Spring InitializingBean 接口

在 spring 的 XML 文件中,我们有两个 id 不同但类相同的 bean。它们具有相同的属性。现在我有 InitializingBean 接口,并且在afterPropertySet()中我只是打印属性的值。

它为我打印两次值?

0 投票
3 回答
14588 浏览

java - 具有动态键和值的 Spring bean 映射

现在我已经在 spring bean 映射中应用了相关的数据,并将这个映射作为参考传递给其他类。

地图定义如下

此映射在其他 bean 中称为

我只想从数据库表中检索映射值并将其注入其他类。我怎么能在春天做到这一点。基本上,该表包含与应用程序相关的数据。地图的键和值将是 int,Configuration。

加载配置数据的最佳位置是什么?我们可以使用spring beans map还是有任何其他好的方法来从数据库加载配置并将其引用到服务、委托和DAO等应用程序的其他地方?

帮助将不胜感激

谢谢

0 投票
5 回答
123136 浏览

spring - 惰性初始化的 Spring 默认行为

我是spring的初学者,ESP控制反转。我很困惑理解以下之间的区别

据我了解:lazy-init=false 在启动时创建 bean,而 lazy-init=true 不在启动时创建 bean,而是根据对特定 bean 的请求创建 bean。在这里纠正我,如果我的解释是错误的。

惰性初始化的默认行为到底是什么?它将如何实例化?

0 投票
2 回答
46948 浏览

java - 实现 Spring IOC 时如何避免使用 ApplicationContext.getBean()

我刚刚开始使用 Spring IOC 概念。我经常看到在互联网上找到的大多数示例都使用代码来获取对象。

作为stackoverflow中这些问题12的参考。我推断,没有必要在代码中使用 appContext.getBean("hello") ,这被认为是不好的做法。另外,不推荐了。在这里纠正我,如果我的推断是错误的。

考虑到这一点,我对我的项目进行了相应的更改。这是我的 applicationContext.xml

我的 contextProvider 类代码

例如,考虑一个依赖于 org.hd.derbyops.DUtils 的 A 类。我正在使用以下代码行

为了在 A 类中获取 DUtils 对象,从而避免 ApplicationContext.getBean()在我的代码中使用任何地方。

假设,如果我有 10 个类,并且我的类 A 依赖于所有这些类,则无需使用ApplicationContext.getBean(). 在那种情况下,如上所述,我想创建 ContextProvider 类的属性,然后是该属性的 setter 和 getter,其中 inget<PropertyName>是静态的。这样,我可以在需要对象的任何地方使用它,就像这样

这是我的简短问题。首先,我的方法对吗?如果是对的,在启动的时候加载所有的bean,会不会是性能杀手?如果不至少多次调用 getBean,您将如何在应用程序中做到这一点?

如果您要设计一个 Web 应用程序并且您要实现 Spring IOC,而不使用ApplicationContext.getBean()任何代码。你会怎么做?

注意:参考上面标记的其他问题

调用 ApplicationContext.getBean() 不是控制反转!

0 投票
2 回答
126 浏览

spring - 是否可以在 Spring 中自动装配 bean 名称?

是否可以使用注释而不是使用BeanNameAware接口在 Spring 中自动装配 bean 名称?

0 投票
2 回答
10735 浏览

spring - Spring注解是如何工作的?

动机

作为我之前关于类加载的问题的后续行动

我很好奇注释在流行的 Spring 框架中是如何工作的。

可能的解决方案

据我了解,可能会使用两种机制:

1. 类加载上的字节码注入

Spring 可以使用自己的类加载器来加载所需的类。在运行时,当类被加载并且 Spring 确定它具有一些适当的注释时,它会注入字节码以向类添加额外的属性或行为。

因此,@Controller可能会更改带有注释的控制器以扩展某些控制器基类,并且在使用注释时可能会更改函数以实现路由@RequestMapping

2. 用于实例化的反射

@Autowired可以由 BeanFactory 在运行时通过反射读取,以处理实例化顺序并实例化配置的属性。

问题

Spring 注解如何真正起作用?

0 投票
3 回答
49008 浏览

java - Spring bean 作用域:session 和 globalSession

Spring框架中的session和globalSession有什么区别?

根据我的研究,两者在 Web 感知 Spring ApplicationContext 的上下文中都是有效的。

现在,会话 bean 范围将一直保留到用户会话,但是 globalSession bean 范围是否可以在整个应用程序中使用?

是应用范围吗?

我无法理解术语“全局 HTTP 会话”;它会在整个全球 HTTP 会话中可用吗?

0 投票
1 回答
531 浏览

java - Spring单例内存使用优化

使用延迟加载的单例 bean 时,Spring 是否会以某种方式优化内存使用?

假设我们有一个代表某个模块(应用程序框架/窗口)的单例 bean,它是惰性的。这个 bean 加载了一些类,这些类是这个框架的组件,并且没有在 Spring 的 IoC 容器中定义。

假设我们关闭了模块JFrame,frame 的所有组件通常都应该被垃圾回收,但它们仍然被 spring bean 引用。

spring 在这种情况下会优化内存使用吗?

准确地说,我不是在问原型,而是在问单例。因为我们有奇怪的行为,在关闭窗口时会释放使用 Spring 单例的内存。当我们为窗口使用原型 bean 时,会释放更多的内存。