公共组件开发流程:
1. 创建SpringBoot的web项目,然后根据业务需求开发。只需开发业务逻辑层和数据访问层。
2. 开发完成并且通过测试用例以后,删除多余的依赖,再将项目打成jar包,供其他服务引用。
3. 公共组件被引用到其他服务,需要注意一下几点:
- 公共组件的resource目录下所有配置都不会被调用到。服务会默认调用自己的resource下的配置文件。
- 公共组件中resource下的mapper.xml 需要移动到组件的数据访问层包中 或者 移动到服务的resource目录的mapper文件下。建议放在组件的数据访问层包中,因为组件会被很多服务引入,放在数据访问层包中可以一劳永逸。
- 建议:服务尽量在自己的业务逻辑层调用公共组件的service。
4. 服务要修改的地方:
- 服务的启动类上的注解要添加公共组件的路径:
- @MapperScan(basePackages={“com.ccyang.mapper”,“com.ccyang.comment.mapper”}) // 服务和公共组件的数据访问层路径
- @ComponentScan(value= {“com.ccyang”, “com.ccyang.comment”}) // spring扫描的包及其子包,以生成相应的Bean
- 修改服务的 yml 文件中mybatis 配置,使其要扫描到公共组件的xml和pojo
- mybatis.mapper-locations: classpath:mybatis/mapper/.xml, classpath:com/happok/xiyan/education/comment/mapper/.xml // 服务和公共组件两个xml的位置路径
- mybatis.type-aliases-package: com.ccyang.bean, com.ccyang.education.comment.pojo //服务和公共组件的ORM映射