9-Spring Boot概念,创建和运行

本文介绍了Spring Boot,它是为简化Spring程序开发而生。阐述了其优点,如快速集成框架、内置运行容器等。详细说明了使用Idea社区版、专业版及网页版创建项目的方法,介绍了项目目录,还给出输出Hello World的示例,强调核心思想是约定大于配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录 

1.Spring Boot是什么?为什么要学?

1.1.概念

1.2.优点

2.Spring Boot项目创建

2.1.使用Idea创建(ide开发商提供)

2.1.1.使用Idea社区版

2.1.2.使用Idea专业版

2.2.网页版创建(Spring官方提供)

3.Spring Boot项目目录介绍

4.输出Hello World

注意:包路径错误!

5.Spring Boot核心设计思想:约定大于配置


1.Spring Boot是什么?为什么要学?

1.1.概念

(Spring的诞生是为了简化Java程序开发,而Spring Boot的诞生是为了简化Spring程序开发。)

Spring Boot的翻译就是Spring框架的脚手架,是为了快速开发Spring框架而诞生的,更方便,简洁,小巧。

1.2.优点

  1. 快速集成框架,Spring Boot提供了启动添加依赖的功能,用于秒级集成各种框架(不用去官网搜索依赖支持再添加到pom.xml中)。
  2. 内置运行容器,无需配置Tomcat等Web容器(IDEA外部容器),直接运行和部署程序。
  3. 快速部署项目(一行命令),无需外部容器即可启动并运行项目。
  4. 可以完全抛弃繁琐的XML(xml会无端报错;xml不好调试和感知错误,idea对xml的适配不是很好;写法麻烦;每一个框架,技术都有其独有的xml格式,idea要匹配所有的技术不现实),使用注解和配置的方式进行开发。(Maven项目必须有xml,Gradle项目不需要xml)
  5. 支持更多的监控的指标(可通过网页的方式来停止Spring Boot项目),可以更好的了解项目的运行情况(注册了多少bean,运行在哪个平台,有几个定时任务,包括哪些方法,接口等)。

2.Spring Boot项目创建

2.1.使用Idea创建(ide开发商提供)

2.1.1.使用Idea社区版

要先安装Spring Assistant(Spring助手)插件。

(社区版部分太老或太新的版本的Idea插件可能不适配安装不了)

或:(会自动匹配Idea当前版本号)网页版安装插件https://plugins.jetbrains.com/plugin/15574-spring-assistant-valuetoyml

 创建Spring Boot项目:

  • Choose Spring Initializr server:在进行Spring Boot初始化时会使用哪个服务器。
  • Default:默认会从官方(国外地址)拉取数据源。
  • Spring cloud dataflow:Spring cloud数据源,一般不用。
  • Custom:自定义地址,如国内的阿里巴巴源。

点击Next如果出现Fetch Error错误:①关闭重新创建;②更换网络再试;③更换阿里国内源(它的版本会老一些https://start.aliyun.comhttp://xn--v6q16kl8x1g6aywe

解决:①关闭重新创建;②更换网络再试。

  • Group Id:组织id/公司id(域名倒置)。
  • Artifact Id:项目id。
  • Version:项目版本。
  • Project type:项目类型(默认情况下Spring Boot是个Maven项目(主流,配置文件采用xml格式)或Gradle项目(下一代的Maven,打包性能比Maven更好,配置文件采用key-value形式,语法更简洁)二者作用一样,语法略不同)。
  • Language:开发语言。
  • Packaging:打包类型(Spring Boot默认是Jar包,不仅含Web包,还含有其他包,是一系列组合的Jar包,可以使用Java命令直接启动Spring Boot项目;Servlet默认是War包(Web包),不能用Java命令启动)。
  • Java version:jdk版本(推荐8)。
  • Project name:项目名称。
  • Project description:项目描述。
  • Package name:项目包名/根路径。

  • 选择Spring Boot版本号(习惯使用次新正式版本(后面没有任何英文的))。

  • 添加外部jar包(打勾即可)。

  • 只需要修改项目名字和存放路径,其他不用改。
  • Module name:模块名字(目前创建的项目都是单项目单模块,可忽略)。
  • Content root:正文/项目的根目录。
  • Module file name:模块文件地址。
  • Project format:项目格式(记录idea的一些配置)。

点击Finish创建项目。

第一次打开Spring Boot项目需要加载很久,因为当前Spring Boot框架并没有在自己的本地仓库。

为了加速Spring Boot项目的下载,在打开项目之前,请先确认自己的Maven项目已经配置为国内源:

配置了国内源。

国内Settings.xml的配置信息如下:

<?xml version="1.0" encoding="UTF-8"?>

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  
  <pluginGroups>
  </pluginGroups>

  <proxies>
  </proxies>

  <servers>
  </servers>

  <mirrors>
    <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>        
    </mirror>
  </mirrors>

  <profiles>
  </profiles>
</settings>

当DemoApplication类的图标为蓝色的可运行的C时,代表项目创建好了。

启动并验证Spring Boot项目是否创建成功,找到启动类(加了@SpringBootApplication注解的类

)运行main方法,若正常打印出来项目加载时间,说明项目启动成功:

问题:开始配置好环境后,启动不成功,报错显示端口号8080被占用。

解决

查看占用该端口号的进程pid,输入命令:

netstat -aon|findstr "被占用的端口号"

解除占用,输入命令:

taskkill /pid 占用该端口号的进程 /F

(如果带最后的/F,表示强制终止这个进程)

2.1.2.使用Idea专业版

专业版不需要安装任何插件。

2.2.网页版创建(Spring官方提供)

缺点:因为没有安装插件,在写配置文件时可能没有提示。

解决:重新下载可以安装插件的Idea版本,Idea可以多个版本并存的。

网页版创建项目先访问https://start.spring.io

添加引用:

解压这个解压包保存好,若其他创建Spring Boot项目方法都失败,可以直接用本地的这个解压包在Idea上打开就ok,啥时候用,啥时候打开就好。

再使用Idea打开,Spring Boot项目就算创建成功了。

 

 访问出现以下页面说明网站启动了,只是没有页面。

 访问出现以下页面说明压根网站就不能访问。

3.Spring Boot项目目录介绍

先删除4个无效的文件夹:

Spring Boot项目有2个主要的目录:

  1. src/main/java为Java源代码。(添加5大类注解和方法注解的类都要写在src/main/java/com/example/demo下面,否则会报错)
  2. src/main/resources为静态资源或配置文件。
  • /static:静态资源文件夹。
  • /templates:模拟资源文件夹。

  • 存储所有的java源代码。
  • 启动类。
  • 资源文件。
  • 前端的文件。(HTML,JS,CSS,图片)
  • 存放页面中公共的通用的模板。
  • 项目配置文件。

设置当前项目的端口号为8082。

  • 单元测试的文件夹,存储所有单元测试类。
  • 每次在编译/运行项目时都会自动生成的文件夹,其中保存当前项目的字节码(给JVM使用)。经常会出现缓存的问题,解决:将其删除重新运行项目即可。修改完代码后一定要重启,否则target里还是之前的老代码。(热部署后就不用自己重启了,Idea会自动监测到修改代码后进行重启)
  • 存放关于当前项目的所有依赖和项目的一些信息(如项目版本号等)

 

生成项目打包时把Lombook的插件排除掉,因为Lombook只是在编译之前起作用,编译之后就没有作用了。

4.输出Hello World

学习JavaEE就是用来实现Web项目或接口的,之前Spring是一个普通的Java项目,无法直接和浏览器进行互动;下面用Spring Boot来实现和浏览器及用户的交互。

注意:包路径错误!

把要注入到容器的类(写了五大类注解,方法注解的类)一定要和启动类放在同一个目录启动类的子目录中,这样Spring Boot项目才能正常地将bean注入到容器中。否则将不能识别。

  • 注入到容器的类和启动类在同级目录下√:

  • 注入到容器的类在启动类的子目录下√:

  • 其他情况×:

都会访问报错,说明Spring Boot项目没有将对象注入到容器中。

将要注入的类放在启动类的同级目录下:

package com.example.demo;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@RequestMapping("/hi") //路由映射
public class HelloController {

    @RequestMapping("/index") //路由映射
    @ResponseBody //返回一个非静态页面的数据
    public String sayHi() {
        return "Hi, Spring Boot.";
    }

}

@ResponseBody :返回一个非静态页面的数据,返回啥数据要看方法返回类型。

方法返回类型是HashMap/一个对象->返回json字符串。

方法返回类型是String->返回html数据。

点右上角运行(红圈)按钮。

通过IP地址+端口号+路由映射来访问:

5.Spring Boot核心设计思想:约定大于配置

Spring Boot项目能简单就简单,能不配置就不配置。所以有了一系列的约定做相应的管理和处理(上面例子),而简化了配置。能动嘴尽量不动手。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值