spring 手动注入bean

springboot 工程中依赖中的对象要求单例,想在启动时注入单例,后续使用@Autowired,跟spring中@Component一样注入

废话不多贴代码

package com.ruoyi.common.config;

import com.baidu.aip.ocr.AipOcr;
import com.ruoyi.framework.config.BaiduConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * 初始百度api 实体
 */
@Configuration
public class BaiduAipClientBean {

    protected final Logger logger = LoggerFactory.getLogger(this.getClass());

    @Autowired
    private BaiduConfig baiduConfig;


    // 返回到spring容器中的bean名称
    @Bean("aipOcr")
    public AipOcr getAipOcr() {
        // 初始化一个AipOcr
        return new AipOcr(baiduConfig.getAppid(), baiduConfig.getApikey(), baiduConfig.getSecretkey());
    }


}

正常注入使用

@Autowired
    private AipOcr aipOcr;

注入类也当然要是spring容器中的

posted @ 2021-03-26 09:15  DevinYang  阅读(468)  评论(0编辑  收藏  举报