本项目使用传统的Spring MVC框架进行搭建,未使用Spring Boot,而需要实现根据用户配置自动选择TCP、UDP、串口等不同协议进行数据获取,还有用户若在内网,实现短信服务动态关闭(wsimport 方式实现的,用户配置修改后Spring不加载相应的短信服务)。若使用Spring Boot,Spring Boot提供了一系列根据条件初始化Spring Bean的注解,非常方便的进行此等操作,在传统Spring MVC项目中,可自己借助@Conditional实现以上操作。
协议动态选择
首先定义不同协议的注解
/** * @类名 ServerType * @描述 不同协议初始化不同服务器(0:TCP,1:UDP,2:串口) * @作者 zhuxl * @创建时间 2017-3-28下午04:50:55 */ public class ServerType { /** * @类名 TCP * @描述 TCP * @作者 zhuxl * @创建时间 2017-3-28下午04:55:38 */ public @interface TCP { } /** * @类名 UDP * @描述 UDP * @作者 zhuxl * @创建时间 2017-3-28下午04:55:43 */ public @interface UDP { } /** * @类名 Serial * @描述 串口 * @作者 zhuxl * @创建时间 2017-3-28下午04:55:48 */ public @interface Serial { } }
根据配置文件中不同的配置,实现对不同协议的处理