一:首先看下代码结构
annotation:注解
context:调度容器(会存放不同消息策略实现列表)
enums:不同消息类型的枚举
listener:springboot项目初始化的时候初始化消息策略实现与枚举类型的绑定关系并加入到调度容器里面
service:消息接口定义
impl:具体消息策略实现
二:具体代码讲解
1:消息类型枚举:
MsgTypeEnum.java
package com.sgl.designpattern.strategy.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @Author sgl
* @Description 发送消息类型
* @Date 2020/01/16 上午 10:13
**/
@Getter
@AllArgsConstructor
public enum MsgTypeEnum {
EMAIL_MSG(1, "邮件消息"),
SHORT_MSG(2, "短信消息");
private int index;
private String description;
}