如何无缝扩展 ThingsBoard 功能?原来二次开发如此简单!【续】
上篇文章介绍了如何对 ThingsBoard 进行无缝二次开发,在进一步集成 Spring Data Jpa 时,导致依赖注入问题,经过几十个小时的不懈努力,终于得到解决。参考了官方代码,只需要简单一个 Config 配置文件即可解决。
问题
- 不多说,看图,你估计会遇到
必要条件
正常开发模式
- Controller
- Entity,Pojo,Domain
- Dao,Repository
- Service
- AutoConfig
解决方案
官方参考
@Configuration @EnableAutoConfiguration @ComponentScan("org.thingsboard.server.dao.sql") @EnableJpaRepositories("org.thingsboard.server.dao.sql") @EntityScan("org.thingsboard.server.dao.model.sql") @EnableTransactionManagement public class JpaDaoConfig { }
依葫芦画瓢
@Configuration @ComponentScan({ "cn.yiqisoft.ecolabanalysis.controller", "cn.yiqisoft.ecolabanalysis.services" }) @EnableJpaRepositories("cn.yiqisoft.ecolabanalysis.dao") @EntityScan("cn.yiqisoft.ecolabanalysis.domain") public class ReportAutoConfiguration { }
ThingsboardServerApplication 扫描自己的 namespace
@ComponentScan({"org.thingsboard.server","cn.yiqisoft.ecolabanalysis"})
- 验证结果
**
至此,完全独立扩展 ThingsBoard!
**