游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

微服务的那些事(二),springBoot你打开微服务的大门

  为什么要谈springBoot:
  这段时间一直都在整理关于微服务的相关的知识。为什么要谈一下springboot,其实想到Java的微服务,大家都想到的肯定是springCloud。其实springCloud不等于微服务。只能说微服务通过springCloud整合一系列子项目共同帮我们实现微服务,架构。同时springcloud在内部也整合springboot。结合springboot的一些特点,所以在了解springCloud之前,我们有必要了解一下springBoot。springBoot同时也是其他语言程序员,快速搭建自己项目的最好的解决方案。什么是SpringBoot
  SpringBoot是Spring项目中的一个子工程,与我们所熟知的Springframework同属于spring的产品:
  用一些固定的方式来构建生产级别的spring应用。SpringBoot推崇约定大于配置的方式以便于你能够尽可能快速的启动并运行程序。
  其实人们把SpringBoot称为搭建程序的脚手架。其最主要作用就是帮我们快速的构建庞大的spring项目,并且尽可能的减少一切xml配置,做到开箱即用,迅速上手,让我们关注与业务而非配置。为什么要学习SpringBoot
  java一直被人诟病的一点就是臃肿、麻烦。当我们还在辛苦的搭建项目时,可能Python程序员已经把功能写好了,究其原因注意是两点:复杂的配置,项目各种配置其实是开发时的损耗,因为在思考Spring特性配置和解决业务问题之间需要进行思维切换,所以写配置挤占了写应用程序逻辑的时间。一个是混乱的依赖管理。项目的依赖管理也是件吃力不讨好的事情。决定项目里要用哪些库就已经够让人头痛的了,你还要知道这些库的哪个版本和其他库不会有冲突,这难题实在太棘手。并且,依赖管理也是一种损耗,添加依赖不是写应用程序代码。一旦选错了依赖的版本,随之而来的不兼容问题毫无疑问会是生产力杀手。
  而SpringBoot让这一切成为过去!
  SpringBoot简化了基于Spring的应用开发,只需要run就能创建一个独立的、生产级别的Spring应用。SpringBoot为Spring平台及第三方库提供开箱即用的设置(提供默认设置,存放默认配置的包就是启动器),这样我们就可以简单的开始。多数SpringBoot应用只需要很少的Spring配置。
  我们可以使用SpringBoot创建java应用,并使用javajar启动它,就能得到一个生产级别的web工程。SpringBoot的一些特点:
  SpringBoot主要目标是:为所有Spring的开发者提供一个非常快速的、广泛接受的入门体验开箱即用(启动器starter其实就是SpringBoot提供的一个jar包),但通过自己设置参数(。properties),即可快速摆脱这种方式。提供了一些大型项目中常见的非功能性特性,如内嵌服务器、安全、指标,健康检测、外部化配置等绝对没有代码生成,也无需XML配置。
  更多细节,大家可以到官网查看。快速入门搭建自己的工程。(这里演示脚手架的方式在Mac进行快速搭建)
  填写项目名称
  下一步勾选一下Web即可。
  就这样点击下一步项目就初始化完成了。
  下面我们来看看我们项目的结构,看看开发工具IDEA为我们做了什么。
  项目SRC文件夹中存放的事Java代码。pom文件管理着我们项目的依赖关系。application。properties文件管理着我们项目的配置。系统自动为了application。java文件是我们启动类。
  application。property的配置方式,已经被更加简洁的application。yml的配置方式所取代。下面为了大家提供一个常见的springboot的项目的常见配置。这里面包含Mysql数据库,redis。pagehelper:分页组件的一些。
  server:
  port:8080
  servlet:
  contextpath:jobapi
  spring:
  datasource:
  driverclassname:com。mysql。jdbc。Driver
  username:root
  password:abc
  url:jdbc:mysql:127。0。0。151job?characterEncodingutf8useSSLfalse
  jpa:
  showsql:true
  resources:
  staticlocations:classpath:templatesweb访问静态页面
  redis:
  database:0
  host:127。0。0。1
  port:6379
  password:
  mybatis配置第一种和第二种需要第三种不需要
  mybatis:
  mapper。xml文件位置
  mapperlocations:classpath:mapper。xml
  checkconfiglocation:true
  pagehelper:
  helperDialect:mysql
  reasonable:true
  supportmethodsarguments:true
  pagesizezero:true
  params:countcountSql添加依赖:
  看到这里很多同学会有疑惑,前面说传统开发的问题之一就是依赖管理混乱,怎么这里我们还需要管理依赖呢?难道SpringBoot不帮我们管理吗?
  别着急,现在我们的项目与SpringBoot还没有什么关联。SpringBoot提供了一个名为springbootstarterparent的工程,里面已经对各种常用依赖(并非全部)的版本进行了管理,我们的项目需要以这个项目为父工程,这样我们就不用操心依赖的版本问题了,需要什么依赖,直接引入坐标即可!
  关于依赖的配置,这里也为大家提供一个pom文件。这个pom文件可以完成常用的项目的开发。
  lt;?xmlversion1。0encodingUTF8?
  projectxmlnshttp:maven。apache。orgPOM4。0。0xmlns:xsihttp:www。w3。org2001XMLSchemainstance
  xsi:schemaLocationhttp:maven。apache。orgPOM4。0。0http:maven。apache。orgxsdmaven4。0。0。xsd
  4。0。0
  org。springframework。boot
  springbootstarterparentartifactId
  2。1。7。RELEASE
  parent
  com。keelon
  jobartifactId
  0。0。1SNAPSHOT
  job
  DemoprojectforSpringBoot
  java。version1。8java。version
  properties
  org。springframework。boot
  springbootstarterwebartifactId
  dependency
  org。mybatis。spring。boot
  mybatisspringbootstarterartifactId
  2。1。0
  dependency
  org。mybatis。generator
  mybatisgeneratorcoreartifactId
  1。3。5
  dependency
  mysql
  mysqlconnectorjavaartifactId
  runtime
  dependency
  org。springframework。boot
  springbootstartertestartifactId
  test
  dependency
  tk。mybatis
  mapperspringbootstarterartifactId
  2。0。1
  dependency
  org。projectlombok
  lombokartifactId
  dependency
  com。github。pagehelper
  pagehelperspringbootstarterartifactId
  1。2。5
  dependency
  io。springfox
  springfoxswagger2artifactId
  2。7。0
  dependency
  io。springfox
  springfoxswaggeruiartifactId
  2。7。0
  dependency
  com。aliyun
  aliyunjavasdkcoreartifactId
  4。1。0
  dependency
  com。qiniu
  qiniujavasdkartifactId
  〔7。2。0,7。2。99〕
  dependency
  org。springframework。boot
  springbootstarterdataredisartifactId
  dependency
  com。alibaba
  fastjsonartifactId
  1。2。4
  dependency
  com。aliyun
  aliyunjavasdkdysmsapiartifactId
  1。1。0
  dependency
  redis。clients
  jedisartifactId
  2。9。3
  dependency
  dependencies
  org。springframework。boot
  springbootmavenpluginartifactId
  plugin
  org。mybatis。generator
  mybatisgeneratormavenpluginartifactId
  1。3。2
  GenerateMyBatisArtifacts
  generate
  goals
  execution
  executions
  true
  true
  configuration
  plugin
  plugins
  build
  project用springBoot写一个接口
  写一个注册接口
  1。实体类enty
  importlombok。Data;
  importorg。springframework。data。annotation。Id;
  Data
  publicclassUser{
  Id
  privateLongid;
  privateStringusername;
  privateStringpassword;
  privateStringmobile;
  privateIntegeremail;
  privateIntegereducation;
  privateStringportrait;
  }
  mapper
  packagecom。keelon。job。mapper;
  importcom。keelon。job。pojo。User;
  importorg。apache。ibatis。annotations。;
  importcom。keelon。job。pojo。Company;
  importorg。springframework。stereotype。Repository;
  Mapper标记mapper文件位置,否则在Application。class启动类上配置mapper包扫描
  Repository
  publicinterfaceUserMapperextendstk。mybatis。mapper。common。Mapper{
  Select(valueselectu。mobile,u。passwordfromuseruwhereu。mobile{mobile})
  Results
  ({Result(propertymobile,columnmobile),
  Result(propertypassword,columnpassword)})
  UserfindUserByMobile(Param(mobile)Stringmobile);
  Insert(insertintouser(mobile,password)values({id},{mobile},{password}))
  加入该注解可以保存对象后,查看对象插入id
  Options(useGeneratedKeystrue,keyPropertyid,keyColumnid)
  voidregist(Useruser);
  }
  service
  packagecom。keelon。job。Service;
  importcom。keelon。job。VO。ResultVO;
  importcom。keelon。job。mapper。UserMapper;
  importcom。keelon。job。pojo。User;
  importcom。keelon。job。util。ResultVOUtil;
  importorg。springframework。beans。factory。annotation。Autowired;
  importorg。springframework。stereotype。Service;
  Service
  publicclassUserService{
  Autowired
  privateUserMapperuserMapper;
  注册
  paramuser参数封装
  returnResult
  publicResultVOregist(Useruser){
  ResultVOresultVOnewResultVO();
  try{
  UserexistUseruserMapper。findUserByMobile(user。getMobile());
  if(existUser!null){
  如果用户名已存在
  resultVOResultVOUtil。error(1,用户名已经存在);
  }else{
  userMapper。insertUser(user);
  resultVOResultVOUtil。error(0,注册成功);
  resultVO。setData(user);
  }
  }catch(Exceptione){
  }
  returnresultVO;
  }
  登录
  paramuser用户名和密码
  returnResult
  publicResultVOlogin(Useruser){
  ResultVOresultVOnewResultVO();
  try{
  LonguserIduserMapper。login(user);
  if(userIdnull){
  resultVOResultVOUtil。error(1,用户名或者密码错误);
  }else{
  resultVOResultVOUtil。success(user);
  }
  }catch(Exceptione){
  }
  returnresultVO;
  }
  publicUsergetUser(Integerid){
  returnuserMapper。findUserByID(id);
  }
  }
  controller
  packagecom。keelon。job。Controller;
  importcom。keelon。job。Service。UserService;
  importcom。keelon。job。VO。ResultVO;
  importcom。keelon。job。pojo。User;
  importorg。springframework。beans。factory。annotation。Autowired;
  importorg。springframework。web。bind。annotation。PostMapping;
  importorg。springframework。web。bind。annotation。RequestMapping;
  importorg。springframework。web。bind。annotation。RequestParam;
  importorg。springframework。web。bind。annotation。RestController;
  RestController
  RequestMapping(user)
  publicclassUserController{
  Autowired
  privateUserServiceuserService;
  PostMapping(regist)
  publicResultVOregister(RequestParam(mobile)Stringmobile,RequestParam(password)
  Stringpassword,RequestParam(code)Stringcode){
  UserusernewUser();
  user。setPassword(password);
  IntegeranewInteger(mobile);
  user。setMobile(mobile);
  returnuserService。regist(user);
  }
  }
  这样我们就完成一个接口的编写了。运行application。java打开postman测试一下。是不是soeasy呢。

赵今麦少年派今晚收官林妙妙高考让网友操碎心星关系7月1日讯由张嘉译、闫妮、赵今麦主演的电视剧《少年派》正在湖南卫视金鹰独播剧场热播。该剧自开播以来,收视一路高涨,卫视平均收视率攀升至2019上半年电视剧榜首。由赵今麦饰……余承东如果没有制裁,华为原本可以成为全球第一的手机厂家4月9日消息,随着肺炎疫情在全球爆发,全球手机市场在一季度受到了严重的冲击。之前有分析机构预测,华为在2020年的智能手机出货量将下降20。不过今天华为消费者业务CEO余承东接……LK分享高性能计算软件平台在多域融合下的挑战与实践汽车智能化正以一种不可阻挡之势席卷全球,无数的资源、人才、科技巨头纷纷涌入这个赛道。他们的加入,从根本上改变了智能汽车的生态链和竞争格局。智能汽车从单纯的提供自动驾驶功能,转变……万沛鑫生于70年代热播三剑客兄弟情戳泪点星关系9月21日讯由彦小追、栗心博执导,李佳航、姚笛、万沛鑫、姜寒等联合主演的年代都市情感剧《生于70年代》正在安徽卫视海豚第一剧场热播。剧中,万沛鑫饰演血性少年齐战胜,与杨帆……万沛鑫生于70年代热播齐家父子代沟引网友共鸣星关系9月19日讯彦小追、栗心博执导,李佳航、姚笛、万沛鑫、姜寒等联合主演的年代都市情感剧《生于70年代》正在安徽卫视海豚第一剧场热播。剧中,万沛鑫饰演对新事物充满渴望,拒绝束……电视剧合伙人迎来大结局朱亚文郑元畅上演兄弟反目星关系讯:由导演林家川、马鸣联手打造,高正、陆文杰编剧,朱亚文、郑元畅、李佳航主演的电视剧《合伙人》正在北京卫视和优酷视频热播。昨晚(8月14日),古东青(朱亚文饰)、王子(李……如何表白才能更让人心动?肖大千我的哥哥在游泳队教你表白新招式星关系10月25日讯近日,由新生代演员肖大千主演的青春校园偶像剧《我的哥哥在游泳队》正在爱奇艺火热播出中。该剧讲述了天才游泳少年欧阳耀与一个爱幻想的女孩公孙可唯之间关于爱和成长……肖大千我的哥哥在游泳队中开启魔鬼训练网友小哥哥真是太拼了!星关系10月18日讯近日,由肖大千主演的青春校园偶像剧《我的哥哥在游泳队》正在爱奇艺火热播出中。剧中的肖大千一改平日里温暖阳光的大男孩形象,化身性格孤僻高傲的游泳天才欧阳耀,如……音视频从业十年的程序员讲述AI正在如何改变安防监控?在音视频这个行业已经从业10年了,从早期的海康DVR二次开发,就开始做视频服务器、播放器这些基础功能,到后来做RTSPRTP流媒体服务器,做3G、4G视频监控,再到做EasyN……联瑞隆重推出2。5G电竞级以太网卡随着网络直播、在线办公、高清电影观看等用户体验需求日益高涨,市场主流的千兆端口网卡已无法满足部分用户对于网速的要求,尽管用户可以采用万兆网卡来提供更高的带宽,但万兆网卡价格昂贵……动物系恋人啊蜗居女孩钟欣潼引全民热议松鼠系女友精致美颜征服观阿娇新剧《动物系恋人啊》人气飙升每个人都想拥有一个楚之河由人气演员阿娇(钟欣潼)主演的的清新练爱剧《动物系恋人啊》自播出以来收获一路好评,紧凑的剧情也在网络上引起热议,特……致命愿望开播郭子凡黑客少年引期待11月3日晚,由杨苗执导,冯绍峰、文淇、范丞丞、郭子凡领衔主演的悬疑剧《致命愿望》登陆爱奇艺迷雾剧场。新生代演员郭子凡饰演的黑客少年席磊,人设带感,演技自然,让人印象深刻。……
中央空调电工接线的金字口决,30年老电工的总结中央空调的电工接线诗歌左接零来左接火,保命地线接中间。三孔中间有个E,接地表明在正中。接线洞边有字母,N为零来L为火。两相插座有多种,常分二孔与三孔。……法拉利又出暴力新车2。85秒时速破百搭载6。5升V12发动机今日,法拉利旗下全新限量特别版车型812Competizione和812CompetizioneA全球首发,新车基于812Superfast进行打造,整体造型更为激进夸张,动力……王者荣耀新增14款机型支持120帧模式,网友不敢想象今日王者荣耀官网发布公告,将于9月23日更新王者荣耀V71版本,该版本新增14款安卓机支持120帧模式,除以有的iQOO88Pro、vivoX70Pro外,小米、Redmi、R……深度丨爱是一道光,如此美妙戴森绿色激光光源技术效能解析文章来源:原创作者:葡萄一直保持着神秘色彩的戴森绿色激光技术,终于在3月25日正式揭晓了。这项绿色激光技术实质是一种灰尘探测技术,搭载于戴森全新发布的V12Dete……基于安卓12的MIUI12。5BUG汇总,不推荐尝鲜近期MIUI向内测用户推送了21。9。17版本,该版底层更新为安卓12,正准备升级的同学可以先等等,从目前上车的同学的反馈看,这次的底层更新依然有不少BUG。应用适配问题……上班打卡,下班别忘了19天瓜分9亿红包呼吸不畅,内心焦灼,浑身发软,四肢无力今天周一了,又该开始一周新的工作了。可是!!!我还忘不了被子清新的香味、暖暖的触感,忘不了和老铁们相互对骂的温馨画……李大霄们真的怂了吗?论价值投资的重要性常年唱多的李大霄忽然认怂了最近国内股市奇葩李大霄忽然不唱多了,而且还说的很隐晦。说所谓的核心资产都已经跌了,那么应该引起重视。然后国内各大媒体开始炒作,连李大霄都开始唱空……承下启上又启下,够格的系列入门作真女神转生3复刻版评测说起数码恶魔,估计现在的Switch玩家们心中都不会兴起什么波澜。但如果喊上一句P5天下第一,那相信即使是没接触过《女神异闻录》系列正统作品的Switch玩家也能想起周可儿的大……贵阳标致508LPHEV降价4。17,欢迎到店赏车心心念念的标致508LPHEV,等了这么久终于有优惠了,小编打听到贵州钟裕东风标致店即日起到11月05日限时特惠4。17,这么好的机会朋友们是不是也和小编一样迫不及待的想到店去……华为挑战谷歌也不是没有机会和希望虽然在巴塞罗那举行的世界移动通信大会因为新冠病毒疫情取消了,但这并不意味着没有新闻。华为还是在巴塞罗那发布华为和荣耀品牌的新款手机、平板电脑和笔记本电脑。由于华为被列入美……人工智能还分好几种?!原来AGI才是人工智能的终极形态人工智能(AI)技术正在飞速发展。随着企业向自动化过渡,对AI技术的需求正在上升。AI在各个行业的垂直领域提供了前所未有的进步,包括广告、医疗、物流、运输等。由于人工智能……黑河遇罕见冻雨边城变冰城,市民行路难11月22日夜里,北国边陲黑河突降历史罕见的冻雨。由于当时室外气温在零下十多度,雨水落到地面后迅速冻结。23日早晨起来发现所有裸露的地面都结成了一层坚固的薄冰,边城一夜之间变成……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网