开发笔记002 ---springboot日常开发特殊玩法

目录

一:开发需求

二:前期代码

 三:整改思路

四:整改实现

 五:思路总结


一:开发需求

        在springboot项目中,会遇到一些问题,将某个接口的所有实现类放入到类似工厂类中,通过某个方法传入特殊标识进行获取不同的接口实现,

二:前期代码

        创建一个工厂类,编写方法,通过传入的参数不同,返回不同的new实例

 三:整改思路

        既然已经使用springboot,再出现new很呆,而且不是很高大上,所以进行整改,用springboot进行实现

四:整改实现

/**
 * @Author WANGWEI
 * @Date 2022/6/30 10:19
 * @PackageName:com.demo.dao
 * @ClassName: SimilarFactory
 * @Description: 简易工厂
 * @Version 1.0
 */
public class SimilarFactory {

    @Resource
    private ApplicationContext applicationContext;

    private final Map<String, UserMapper> userMapperMap = new ConcurrentHashMap<>();

    @PostConstruct
    private void init() {
        userMapperMap.putAll(applicationContext.getBeansOfType(UserMapper.class));
    }

    public UserMapper getUserMapper(String code){
        switch (code){
            case "01":
                return userMapperMap.get("userMapper01");
            case "02":
                return userMapperMap.get("userMapper02");
            case "03":
                return userMapperMap.get("userMapper03");
            default:
                return null;
        }
    }
}

 五:思路总结

        spring最主要的能力就是解耦,我们在springboot项目中出现new关键字词的时候就需要思考,我们代码是否可以优化,本次思路主要就是ApplicationContext 上下文与PostConstruct初始化注解的使用。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值