让Spring Boot管理对象的生存期

时间:2019-07-11 13:57:29

标签: java spring spring-config

我是Spring Boot的新手,仍然在尝试掌握最佳实践。吸引我的是Spring Cloud Configuration。最初,我想做一个Spring Boot的混合实现(由于现有代码库的大小),但这不可避免地使我产生了一堆代码异味和反模式。

在Spring之前,我曾管理自己的对象,但是我很快意识到,Spring希望在存在依赖项注入的情况下完全控制对象实例化和所有权(据我了解)。但是在某些情况下,我不能让Spring完全驱动但仍然对配置有依赖性(例如,另一个负责对象管理的框架)。

我不想做一个一次性的方案,在这种情况下我最终要通过一连串的构造函数传递配置,并且我想避免使用AutowireCapableBeanFactory::autoWireBean(...)来手动连接我的bean。同时,依靠Spring手动初始化我所有的对象是一件麻烦事。要明确的是,这就是我在说的:

@SomeOtherFrameworkThatOwnsThisObject
@Configuration
public class SomeClassDeepInMyProject implements SomeKindOfInterface {

    @Autowired
    private ConfigurationController config;

    ...
}

我考虑过创建一个可在应用程序范围内访问的单例配置提供程序,并将配置bean手动连接到该类。如果有更好的选择,我会全力以赴。

0 个答案:

没有答案