当前位置: 首页 > news >正文

【SSM-Day2】创建SpringBoot项目

运行本篇中的代码:idea专业版或者idea社区版本(2021.1~2022.1.4)->这个版本主要是匹配插件spring boot Helper的免费版(衰)

【SSM-Day2】创建SpringBoot项目

  • 框架->Spring家族框架
  • 快速上手Spring Boot
    • 📢用idea插件创建Spring Boot项目
      • ⭐️第一步:安装插件(已有->忽略)
      • ⭐️第二步:创建Spring Boot项目
      • ⭐️第三步:用maven导入第三方依赖
    • 📢项目目录
    • 📢项目启动
    • 📢web程序:hello world
    • 📢Sping Boot是什么
  • 项目的JDK版本取决于通过什么运行项目

框架->Spring家族框架

什么是框架?一些大佬把一些复杂的功能写好以后,进行封装,并且提供相应API。个人或者团队在进行开发工作的时候,只需要调用对应API就可以在自己的项目中实现对应功能。大佬完成的框架通常简单又高效,利用框架进行开发能极大提高开发效率。

一个jar包可以叫库,多个jar组合到一起可以称为模块,多个模块组合成一个更规范的体系,就可以成为框架。

在开发一个网站项目的时候,特别是BS架构下的项目,常用的框架是Spring家族框架(可简称Spring)
在这里插入图片描述
Spring是一类 快,简单,安全的Java框架。进入Spring官方网站https://spring.io/后,可以见到Spring家族框架里有很多的框架成员,例如Spring Framework,Spring BootSpring MVCSpringCloud等。
在这里插入图片描述

快速上手Spring Boot

📢用idea插件创建Spring Boot项目

创建SpringBoot项⽬的方式很多,比如

  1. 通过Spring官方创建、
  2. 阿里云创建、
  3. 不基于任何页面和插件,直接创建空的maven 项目,但要自己写依赖,启动类、目录、
  4. 复制已存在的SpringBoot项⽬,然后粘贴修改后变成新的项目。
  5. 通过idea插件spring boot Helper创建

接下来up我记录的是通过插件spring boot Helper创建Spring Boot项目。

⭐️第一步:安装插件(已有->忽略)

社区版idea在创建Spring Boot项目前要先安装插件spring boot Helper,专业版已经集成了这个插件,不用安装。

插件spring boot Helper目前在官网已经找不到免费版本了,我的解决办法是问同学要了份免费版本的压缩包存到本地后然后直接安装了,这个压缩包是免费的,所以它的缺点是只和2021.1~2022.1.4版的idea兼容(衰)。

安装,一个下载在本地的插件,步骤如下:
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
(ps:settings弹窗的ok别忘了点)。
最后重启idea,查看已安装插件,插件的名字从spring boot Helper变成了SpringInitializrandAssistant,

在这里插入图片描述
(ps:不要点updata,要不然免费版就变成收费版了,收费版只能用30天)

打开新建项目页面,能看到spring initializr选项,说明这个插件就安装成功了。
在这里插入图片描述

⭐️第二步:创建Spring Boot项目

接下来就借助插件,开始创建Spring Boot项目。
在这里插入图片描述联网状态下(ps:下图页面来自于sping官网)进入下面这个页面:
在这里插入图片描述

点击next后进入下面页面:
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
点击Create,一个SpringBoot项⽬的创建进行至80%。

⭐️第三步:用maven导入第三方依赖

项目创建过程中,我们引入了spring依赖。但是在项目创建之初,本地并没有springboot的本地仓库,所以项目创建后还需要用maven导入依赖:

点击页面右下角load maven project,作为maven项目去加载这个项目,maven就会自动生成一些配置项,然后自动去中央仓库下载依赖。
在这里插入图片描述

以上操作时,一些可能会遇到的小问题:

  1. 如果右下角没有load maven project,
    先检查项目页面最右侧栏是否有maven,有,直接点击刷新加载项目。
    没有,鼠标右键->Add Framework Support->选择maven->点击ok。
  1. 在用maven导依赖的过程中,社区版的idea可能会存在以下两个bug:
    在这里插入图片描述中央仓库中有的是下面这个依赖,即删掉.RELEASE,导入如下依赖。
    在这里插入图片描述>3. 还有一个bug是:
    在这里插入图片描述由于这个依赖目前用不上,如果一直下载不下来,可直接把这段依赖坐标删除。删除之后点击刷新。

至此,默认的依赖导入完成,项目没有报错,一个SpringBoot项⽬被成功创建。

📢项目目录

在这里插入图片描述
读别人的代码,只需要以上目录中的三个文件:src;.gitignore;pom.xml。

📢项目启动

在这里插入图片描述在这里插入图片描述在这里插入图片描述

📢web程序:hello world

web程序是基于http协议进行交互的。在web程序中,idea中的Spring boot项目是服务器端,浏览器是客户端 。 -> 通过在浏览器输入地址,就能访问到idea中的项目。

web服务器(又称WWW服务器)就是对http协议进行封装,程序员不需要直接对协议进行操作->程序员不需要自己写代码去解析http规则,显然这使得web开发更加便捷。常见的web服务器有Apache,Nginx,IIS,Tomcat,Jboss等。

Spring boot集成了tomcat服务器。tomcat的默认端口号是8080,所以我们访问Spring boot程序时的端口号也是8080。
在这里插入图片描述

例如在下面这个web程序中:
在这里插入图片描述

浏览器端:输⼊⽹址:http://127.0.0.1:8080/hello

  • 通过IP地址127.0.0.1定位到⽹络上的⼀台计机,127.0.0.1就是本机
  • 通过端⼝号8080找到计算机上对应的进程,也就是在本地计算机中找到正在运⾏的8080端⼝的程序
  • /hello是请求资源位置
    • 资源:对计算机⽽⾔资源就是数据
    • web资源:通过⽹络可以访问到的资源(通常是指存放在服务器上的数据)

http://127.0.0.1:8080/hello,就是向本地计算机中的8080端⼝程序,获取资源位置是/hello的数据;然后8080端⼝程序在服务器找/hello位置的资源数据后,再发给浏览器。

服务端:接收到浏览器发送的信息(如:/hello),在服务器上找到/hello的资源,把资源发送给浏览器。

下面总结一些 浏览器访问服务器失败 的原因:

  1. 服务器根本没启动:
    在这里插入图片描述
  2. 服务器启动了,但还是没有访问到资源,此时可以根据页面反馈的http状态码寻找出错原因。
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

📢Sping Boot是什么

Spring家族框架是为了简化JavaWeb开发的,Spring Boot框架是为了简化Spring程序开发的。如果把开发一个Spring程序比作盖房子,那么SpringBoot相当于一个脚手架。脚手架的作用是方便砌筑砖墙,浇筑混凝⼟、墙⾯抹灰,装饰和粉刷的。
在这里插入图片描述用脚手架可以更快速的盖房子,但是不用脚手架也可以盖房子。同理,不用SpringBoot直接进行Spring程序开发也可以。

从上面使用Spring Boot创建网站项目的时候,可见以下几点:

  1. SpringBoot提供了启动添加依赖的功能,可以快速集成框架
    在这里插入图片描述

  2. SpringBoot内置web服务器,⽆需配置Tomcat等Web服务器,可直接运⾏和部署程序。
    在这里插入图片描述

  3. SpringBoot的设计思想是约定大于配置,使⽤注解和配置的⽅式进⾏开发,比如类上标注注解@SpringBootApplication就可以启动SpringBoot项⽬了。
    在这里插入图片描述

项目的JDK版本取决于通过什么运行项目

通过cmd运行项目,项目的jdk版本需要能被本机设置的环境变量兼容;通过idea运行项目,项目的jdk版本,需要能被idea中针对该项目的jdk版本兼容。

idea中针对该项目的jdk版本:
file->project structure
在这里插入图片描述
在这里插入图片描述file->settings
在这里插入图片描述pom.xml文件中:
在这里插入图片描述


SpringBoot框架终于用上了,下一波操作再见!
在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 十、数字人IP应用方案
  • JAVA_17
  • 828 华为云征文|华为 Flexus 云服务器搭建萤火商城 2.0
  • 5、论文阅读:深水下的图像增强
  • 18 基于51单片机的心率体温监测报警系统(包括程序、仿真、原理图、流程图)
  • 基于vue框架的传染病人管理系统3w776(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
  • 【Java集合】LinkedList
  • vue一级、二级路由设计
  • 多态的使用和原理(c++详解)
  • 【第十二周】李宏毅机器学习笔记10:生成式对抗网络2
  • Mysql梳理9——多表查询连接分类及实现内、外连接
  • 探讨基于AI技术的相亲交友系统设计与实现
  • 得物App荣获新奖项,科技创新助力高质量发展
  • ArcGIS10.2/10.6安装包下载与安装(附详细安装步骤)
  • 深度学习——pytorch来实现延迟初始化
  • 网络传输文件的问题
  • 《剑指offer》分解让复杂问题更简单
  • 【前端学习】-粗谈选择器
  • JavaScript中的对象个人分享
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • node 版本过低
  • node和express搭建代理服务器(源码)
  • PHP CLI应用的调试原理
  • ⭐ Unity + OpenCV 实现实时图像识别与叠加效果
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • 从0到1:PostCSS 插件开发最佳实践
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • 收藏好这篇,别再只说“数据劫持”了
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 为视图添加丝滑的水波纹
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • UI设计初学者应该如何入门?
  • #if和#ifdef区别
  • #systemverilog# 之 event region 和 timeslot 仿真调度(十)高层次视角看仿真调度事件的发生
  • #Ubuntu(修改root信息)
  • $$$$GB2312-80区位编码表$$$$
  • (13):Silverlight 2 数据与通信之WebRequest
  • (2)nginx 安装、启停
  • (BFS)hdoj2377-Bus Pass
  • (回溯) LeetCode 40. 组合总和II
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (转)使用VMware vSphere标准交换机设置网络连接
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • ... 是什么 ?... 有什么用处?
  • .env.development、.env.production、.env.staging
  • .gitignore文件---让git自动忽略指定文件
  • .Net 6.0--通用帮助类--FileHelper
  • .NET Core Web APi类库如何内嵌运行?
  • .Net Core 笔试1
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
  • .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换
  • .net打印*三角形
  • .NET应用UI框架DevExpress XAF v24.1 - 可用性进一步增强
  • ??eclipse的安装配置问题!??