SpringCloud项目中使用策略模式时注入为Null

在物联网项目中,采用策略模式应对多样化的需求和响应。然而,在自测阶段发现策略实现的Dao接口注入始终为Null。尝试在相关组件上添加@Component并未解决问题。经过研究,了解到必须在所有使用Dao的地方使用@Autowired注入,但策略模式需要实例化。最终通过给实现类设置别名并使用@Qualifier注解解决了注入问题。
摘要由CSDN通过智能技术生成

需求:物联网项目中,正在实行自动化需求,大概就是满足一些条件就触发一些响应。其中触发条件是多种多样的,响应输出也是多种多样的,自然而然我就想到了策略模式,而且也方便后续种类增加时的横向扩展。

策略模式代码如下

//触发条件执行封装
/**
 * @author zhangs
 * @Description 自动化触发条件执行封装
 * @createDate 2019/3/22
 */
public class AutoTriggerExecContext {
    private IAutoTriggerExecStrategy iAutoTriggerExecStrategy;

    public AutoTriggerExecContext(IAutoTriggerExecStrategy iAutoTriggerExecStrategy) {
        this.iAutoTriggerExecStrategy = iAutoTriggerExecStrategy;
    }

    public Integer triggerAutomatic(TriggerAutomaticMO triggerAutomatic) {
        return iAutoTriggerExecStrategy.triggerAutomatic(triggerAutomatic);
    }
}

//接口
/**
 * @author zhangs
 * @Description 自动化触发执行服务(主要用于判断条件是否被触发)
 * @createDate 2019/3/12
 */
public interface IAutoTriggerExecStrategy {
    /**
     * 触发执行
     * @param triggerAutomatic
     * @return
     * @author zhangs
     * @create
  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值