如何无缝扩展 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!
**