二次开发
自己如何扩展接入方式
- 建议模块的包名尽量与主要不一致,这样可以按需开启和关闭
java
/**
* TCP 协议模块自动配置类
*
* <p>当 tcp.protocol.enabled=true 时,自动扫描包并创建所有TCP相关的Bean
*
* <p>通过 META-INF/spring.factories 实现 Spring Boot 自动配置
*
* @version 2.0 @Author gitee.com/NexIoT
* @since 2025/1/2
*/
@Configuration
@ConditionalOnProperty(name = "tcp.protocol.enabled", havingValue = "true", matchIfMissing = false)
@ComponentScan(basePackages = "cn.tcp.protocol")
@EnableConfigurationProperties(TcpProperties.class)
@Slf4j
public class TcpAutoConfiguration {
@Autowired(required = false)
private TcpModuleInfo moduleInfo;
public TcpAutoConfiguration() {
log.info("[TCP协议] TCP协议模块自动配置已启用");
}
@PostConstruct
public void registerProtocol() {
if (moduleInfo != null) {
ProtocolModuleRuntimeRegistry.registerProtocol(moduleInfo);
log.info("[TCP自动配置] 协议模块已注册到运行时注册表");
}
}
@PreDestroy
public void unregisterProtocol() {
if (moduleInfo != null) {
ProtocolModuleRuntimeRegistry.unregisterProtocol(moduleInfo.getCode());
log.info("[TCP自动配置] 协议模块已从运行时注册表注销");
}
}
}