首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我可以将Spring @bean定义为@Repository或@Service吗?

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

Stack Overflow用户
提问于 2019-11-25 11:00:00
回答 1查看 111关注 0票数 0

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

我可以继承第三方库中的类型,并在继承的类型上使用@Repository,但是对于最终的类,这是行不通的,我想要@bean的生命周期灵活性。

有什么方法可以声明一个bean也是一个原型吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-25 12:43:29

据我所知,您无法将原型信息添加到现有类中。正如在这个SO answer中所看到的,有一个解决办法,但是它似乎有点复杂。

我建议一种更直截了当的方法:喜欢组合而不是继承。通过这种方式,您可以创建自己的类,包装第三方库类的功能,将其注释为@Repository,并将其定义为@Bean:

代码语言:javascript
运行
复制
@Repository
public class LibWrapper {

    private TrirdPartyClass wrapped;

    public void insert() {
        wrappped.insert();
    }
}

代码语言:javascript
运行
复制
@Configuration
public class LibWrapperConfiguration {

    @Bean
    public LibWrapper libWrapper(){
        return new LibWrapper();
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59030247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档