范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

如何快速学习Java系列之创建第一个JavaWeb项目(day41)

  今天我们来写第一个 Java(Web) 项目,文章会包括如下内容: Spring MVC  常用注解  Lombok  常用注解  创建  Spring Web  项目,并实现 echo 接口 Spring MVC   HTTP  请求的执行流程 Java Web 常用注解@RestController :是 @Controller  和 @ResponseBody  的组合注释@RequestMapping :类级别路由设置 @RequestMapping("api/product")@GetMapping :方法级别路由设置,对应 GET  请求 @GetMapping("listProduct")@PostMapping :方法级别路由设置,对应 POST  请求 @PostMapping("createProduct")@DeleteMapping :方法级别路由设置,对应 DELETE  请求 @DeleteMapping("delete/{id}")@PathVariable :路径变量,通常用于方法,但也可以于类@GetMapping("/owners/{ownerId}/products/{productId}") public Product getProduct(@PathVariable Long ownerId,                                       @PathVariable Long productId) {     // ... }@RequestParam :路径参数,用于方法@GetMapping("getProduct") public String getProduct(@RequestParam("id") Long id) {    // ... }@RequestBody  :绑定到 HTTP Request Body ,Body   的内容会通过 HttpMessageConverter  转换成你定义的参数@PostMapping("addProduct") public Result addProduct(@RequestBody ProductDto param) {     // ... }@ResponseBody  同样的,该标注表明把返回值通过 HttpMessageConverter  序列化到 HTTP Response  中。
  Lombok 常用注解@Getter, @Setter :生成 getter , setter  方法@ToString :生成 toString  方法@EqualsAndHashCode :生成 hashCode  和 equals  方法@NoArgsConstructor, @AllArgsConstructor :生成构造函数@Data : 是 @Getter , @Setter , @ToString , @EqualsAndHashCode , @RequiredArgsConstructor  的简写@Accessors( chain=true ) :支持链式调用
  Java Web 项目的两个分支
  Java Web  有两个分支,一个是 Web Servlet ,另一个是 Web Reactive .Web Servlet :Spring MVC , WebSocket , SockJS , STOMP Messaging Web Reactive :Spring WebFlux , WebClient , WebSocket , RSocket
  接下来我们要创建的是 基于Servlet  的 Web 项目 Spring MVC 。下面这个图清晰的表达了 Spring MVC  和 Spring WebFlux  的差异。
  Java Web 的两个分支
  可以看到 Spring WebFlux  是不包含数据库(无 JDBC )访问的,而我们后面会用到数据库,所以这里我们选 Spring MVC  项目。创建项目详细步骤
  IDEA 新建项目
  IDEA 设置 JDK 和 类型
  Spring Boot 3  最低要求 Java 17 ,而目前公司几乎所有项目用的都是 Java 8 ,所有这里我们选 Spring Boot 2  的最新版本 2.7.8。
  IDEA 选择依赖的模块
  经过以上步骤,一个空的 Java Web (Spring MVC)  项目已经创建起来了。如果你有安装 Spring Boot CLI ,那么上述这么多步骤可以简化为一条命令:spring init --dependencies=web,lombok --build=maven --java-version=1.8 --boot-version=2.7.8 springdemo
  运行项目
  通过 IDEA  右上方的工具栏运行如下,启动的服务默认端口是 8080
  运行项目修改服务端口
  可以通过修改项目配置文件来修改端口,IDEA  默认创建的配置文件是 application.properties ,但最佳实践推荐使用 .yml  格式, 这里把 文件后缀名直接改成 .yml  即可。我们把端口改成 8990,修改完之后,再次运行,端口就变了。
  修改服务端口创建 RESTFul API
  创建 echo api封装项目的统一返回值类型
  model/Result.java  文件@Getter @Setter @Accessors(chain = true) public class Result {     private int code;     private String message;     private T data;      public Result() {         code = 0;         message = "success";     }      public Result setCode(ResultCode error) {         code = error.code();         message = error.description();         return this;     } }定义返回值枚举
  consts/ResultCode.java  文件public enum ResultCode {     /** success */     ENoErr(0, "访问成功"),     /** failed */     EFailed(1, "系统异常"),     /** parameter error */     EInvalidParam(2, "非法参数")     ;     private final int code;     private final String description;     ResultCode(int code, String desc) {         this.code = code;         this.description = desc;     }     public int code() {         return code;     }     public String description() {         return description;     } }创建 controller  定义request  请求处理的方法
  controller/UtilController.java  文件@RestController @RequestMapping("api/util") public class UtilController {     /** 接收什么,就返回什么 */     @PostMapping("echo")     public Result echo(@RequestBody JsonNode param) {         Result result = new Result<>();         return result.setData(param);     } }编译运行,调用接口
  打开 Windows Terminal ,使用 httpie  调用接口:http -v http://192.168.1.10:8991/api/util/echo name=张三 birthday=2020-01-01
  执行结果如下:
  调用 echo 接口
  可以看到,通过接口传递的参数,被原样的返回给调用方。
  Spring MVC 中 HTTP 请求的执行流程
  今天篇幅有点长了,这部分另起一篇。
  小结一下,今天咱们学习了 Spring MVC  和 Lombok  的常用注解;IDEA  中创建 Java  项目的基本步骤,也了解如何使用 Spring Boot CLI  命令来创建项目;并成功创建了第一个 Java Web  项目,实现了 第一个API :POST  /api/util/echo 。掌握如何运行,如何调用 API 。
  下一节,我们会继续分享 Spring MVC  中 HTTP  请求的执行过程,了解 HTTP Request  是怎么传递到 Controller  方法中的。

黑峡谷(Hyeku)X4无线双模机械键盘评测新配列,新选择黑峡谷(Hyeku)旗下的X系列机械键盘一直有着较高的性价比表现,不错的颜值外观与多种配色方案,多款BOX轴体方案以及多模连接方案,在中低价位区间内还是非常能打的。X系列键盘目前拥道具枪走火致人死亡好莱坞男星鲍德温将被控过失杀人新华社北京1月20日电美国好莱坞知名男星亚历克斯鲍德温一年多前在新墨西哥州首府圣菲市郊区拍摄影片铁锈时,因道具枪走火误杀一名女摄影师。当地检方19日宣布,将以过失杀人罪控告鲍德温及流浪地球2首映,谢楠带俩儿子现身力挺,吴京深鞠躬感谢妻子流浪地球2已经定档大年初一,1月20日迎来首映,吴京作为主演,妻子谢楠没有理由不来支持,而且两个儿子也跟着妈妈一起过来力挺爸爸。老大吴所谓穿着黑色卫衣,头上还理了一个闪电的图案,弟香港公认的十大美女,你心目中的第一名是谁?香港公认的十大顶流颜值女星第十名张敏,她有着一股古灵精怪的邪气,将英姿飒爽与性感妩媚融合得恰到好处。第九名周慧敏,她是90年代香港男人心中一个最清纯的梦,无论从哪个角度看都完美无缺艾克飞盘创始人郑淦数十倍增长的订单唯有数字化能接住只需要一块平坦宽敞的场地,没有身体碰撞,男女老少皆宜,可以分组比赛也能自娱自乐,这就是2022年风靡全国的飞盘运动。作为在疫情之下难得能够火爆的户外运动,快手大数据研究院发布的202022三农问答丨太空漫游提供的未来一粒种子离开大地,进入茫茫太空,经历无垠的宇宙之旅,重新回归人间,会发生怎样的变化?2022年12月4日,神舟十四号在经历了近半年的太空之旅后平安回归,和航天员们一起回家的,还有在名单来了!除夕至3月31日,青岛这12家国有A级景区免首道门票开放青岛广电爱青岛1月20日讯为深入贯彻中央和省委市委经济工作会议精神,全面落实省委山东消费提振年决策部署,把恢复和扩大消费摆在优先位置,提振消费信心稳定消费预期,经市委市政府研究决定兔文化古今梳略作者李木子(中国传媒大学艺术研究院博士研究生)王黑特(中国传媒大学艺术研究院教授博士生导师)在中国古代的传统文化认知中,具有祥瑞之意的兔可分为凡间之兔与神仙之兔,通常以毛发颜色来进科创城市成长背后重新认识中小微企业与金融支持的力量科技创新发展正如火如荼研发人员总量连续八年位居世界第一国内发明专利PCT国际申请量跃居全球第一全球创新指数从10年前第34位跃升至第11位近年来,中国科技创新书写了一项项开拓性成就对街上公众人物可以随手拍吗?专家解读近日,王某某在上海打人事件引发社会高度关注,相关报道多次冲上热搜榜。1月12日,上海静安警方发布通报,11日4时许接报南京西路一商务楼门口有人被打。经查,王某某等人误以为在路边候车儿童电动牙刷如何选?避雷五大智商税坑货!据相关统计,中国已经有超过85以上的儿童患有龋齿病,所以给孩子使用清洁能力更强的儿童电动牙刷迫在眉睫,而市场中儿童电动牙刷品牌鱼龙混杂,各种不专业产品充斥其中,家长们经常因跟风购买
全国高速公路货车通行量环比增长9。39央视网消息最新数据显示,2月14日,国家铁路货运继续保持高位运行,运输货物1080。3万吨,环比增长0。21。全国高速公路货车通行697。68万辆,环比增长9。39。监测港口完成货凯泽斯劳滕奇迹四度出现,武汉三镇之后谁会是第五个?凯泽斯劳滕奇迹,又称凯泽斯劳滕神话,意思是俱乐部连续两年,先后夺得次级别联赛冠军和顶级联赛冠军的表现,中间不出现断层!神话诞生,奇迹出现热刺第一个连续夺得二级一级别联赛冠军的俱乐部比茅台难抢100倍,全国最抢手的门票终于被我买到了!大家好啊(),今天值班的是种草天文馆一年半终于拔了草的磊磊。上周我不是去住了重装开业的滴水湖洲际么,想着临港这么远啊,去一趟当然是应玩尽玩。幸运之神眷顾(以及看了800篇抢票经验总全国首单革命老区资产支持专项计划在深交所挂牌黄灵灵中国证券报中证网中证网讯(记者黄灵灵)近日,新华保理新江苏红色传承第1期保理债权资产支持专项计划(革命老区)(以下简称新华保理一期)在深圳证券交易所举行挂牌仪式。这是全国首单中消协2022年全国消协为消费者挽回经济损失近14亿中新经纬2月15日电中消协15日发布2022年全国消协组织受理投诉情况分析(下称情况分析)显示,2022年全国消协组织为消费者挽回经济损失137767万元。根据全国消协组织受理投诉悲痛!70岁歌手刘文正在国外去世,无儿无女,22栋房产无人继承导语悲痛!70岁歌手刘文正在国外去世,无儿无女,22栋房产无人继承。2月15日,一件让人悲痛的消息在网上传播开来,歌手刘文正因为突发心肌梗塞,错失救治时间,而在国外去世,享年七十岁2月还没过完,2023年的四大烂剧都出炉了?看完三观已崩自从狂飙上线后,观众就对国产剧充满了信心。一部爆款几乎提高了国产剧的平均水准,让众多剧迷内心狂喜,但说实话,在无人在意的角落里,2023年已经接连出炉4部烂剧,看完三观都得跟着崩塌今晚开播!两部新剧同时上星,聚焦当下不同热门题材,值得追在情人节之际众多剧集官宣情人节海报,都市职场爱情古装仙侠等多种题材,都是实力派阵容,让人拉满期待值。这些剧集还在即将定档的路上,虽然有些迫不及待,但还是要等,不过今晚还有2部剧集上当众和一群老板互撕,现场把撒贝宁骂到失态,张绍刚究竟有多刚张绍刚究竟做了什么竟让撒贝宁当众和他翻脸两人之所以吵到不可开交只是因为一个名叫郭杰的男人当时张绍刚是一档求职节目的主持人在法国留学十年的郭杰来到节目求职但刚上台他的硕士学历就遭到了以中式想象力与美学入梦中国奇谭总导演陈寥宇分集导演刘旷分集导演顾杨宇宙飞船降落在杳无人烟的月球,竟然出现了一只玉兔?!一人一兔会展开一段怎样的故事?2月12日,9。3分现象级动画剧集中国奇谭迎来最终集玉兔,完美打开生活的正确方式热播戴笑盈治愈梅婷近日,由林柯执导,黄渤梅婷朱珠领衔主演,田雨孙坚特别主演的现实主义生活剧打开生活的正确方式正在东方卫视江苏卫视以及优酷平台热播中。凭借着优秀的剧情以及黄渤梅婷的实力派演员的精彩演技