gpt4 book ai didi

java - 我可以将 Spring @bean 定义为 @Repository 或 @Service 吗?

转载 作者:行者123 更新时间:2023-12-02 09:15:24 24 4
gpt4 key购买 nike

我正在将第三方库连接到 Spring Boot 应用程序中,我希望既能控制其生命周期,又能从 @Repository 的异常转换/翻译功能中受益。

我可以从第三方库中的类型继承,并在继承的类型上使用@Repository,但这对于最终类不起作用,我想要@bean的生命周期灵 active

有什么方法可以声明一个 bean 也像一个刻板印象吗?

最佳答案

据我所知,您无法将构造型信息添加到现有类中。有一个解决方法,如SO answer所示。 ,不过看起来有点复杂。

我建议采用更直接的方法:优先使用组合而不是继承。通过这种方式,您可以创建自己的类来包装第三方库类功能,将其注释为 @Repository 并将其定义为“@Bean”:

@Repository
public class LibWrapper {

private TrirdPartyClass wrapped;

public void insert() {
wrappped.insert();
}
}
<小时/>
@Configuration
public class LibWrapperConfiguration {

@Bean
public LibWrapper libWrapper(){
return new LibWrapper();
}
}

关于java - 我可以将 Spring @bean 定义为 @Repository 或 @Service 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59030247/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com