service的集成结构(数据库、非数据库、远程)如何加载、相关代码说明.md
service的集成结构(数据库、非数据库、远程)如何加载、相关代码说明.md
北京起航 发表于3年前
service的集成结构(数据库、非数据库、远程)如何加载、相关代码说明.md
  • 发表于 3年前
  • 阅读 34
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: service的集成结构(数据库、非数据库、远程)如何加载、相关代码说明.md

itone.Service:service的集成结构(数据库、非数据库、远程)如何加载、相关代码说明.md

  1. 服务注册到ServiceManager 1.1. 数据库的服务,可以自动查找,符合命名规则
src\main\java\com\its\itone\mon\res\service\
src\main\java\com\its\itone\mon\res\service\pojo
src\main\java\com\its\itone\mon\res\service\impl
src\main\java\com\its\itone\mon\res\service\impl\mapper  
src\main\java\com\its\itone\mon\res\service\IResService.java
src\main\java\com\its\itone\mon\res\service\pojo\Res.java
src\main\java\com\its\itone\mon\res\service\impl\ResService.java
src\main\java\com\its\itone\mon\res\service\impl\mapper\ResMapper.java
src\main\resources\com\its\itone\mon\res\service\impl\mapper\ResMapper.xml

1.2. 非数据库服务,实现IService,需要手动注册

Services.registerService(IDataLatestService.class, new DataLatestMapdbService());
IDataLatestService  service =Services.getService(IDataLatestService.class);
  1. Services工具类
Services工具类
调用方法1:IUserService service = Services.getService(IUserService.class,db); service.deleteById("test");
调用方法2:IUserService service = Services.getService(IUserService.class); service.setDb(DB); service.deleteById("test"); 
调用方法3: GlobalRes.setDefaultDd(DB); IUserService service = Services.getService(IUserService.class); service.deleteById("test");  
配置方式如下:
【自定义配置优先 】 1.零配置方式,采用默认规则 如:符合系统标准包结构,实现类在服务接口包.impl下,并且实现类名称就是接口名称,去掉前缀"I" 如: 
此接口 com.its.itone.core.service.IUserService 
对应实现类 com.its.itone.core.service.impl.UserService  
2.自定义配置方法: META-INF/services/目录里同时创建一个以服务接口命名的文件;该文件里就是实现该服务接口的具体实现类 如:文件 META-INF/services/com.its.itone.core.service. IUserService 内容是 com.its.itone.core.service.impl.UserService 参考测试用例 com.its.itone.core.service.UserServicesTest TODO 目前不支持事务 事务在方法内部自己实现
  1. 服务手动注册
Services.registerService(IDataLatestService.class, new DataLatestMapdbService());
  1. mapper手动注册
DB.addMappers(ElementMapper.class.getPackage().getName());
DB.addMappers(TopoViewMapper.class.getPackage().getName());
共有 人打赏支持
粉丝 52
博文 51
码字总数 29304
×
北京起航
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: