SpringBoot介绍及环境搭建

2023-11-15

什么是SpringBoot

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。

SpringBoot特性

  • 独立运行的Spring项目
    Spring Boot可以以jar包的形式来运行,运行一个Spring Boot项目我们只需要通过Java -jar xx.jar类运行。非常方便。
  • 内嵌Servlet容器
    Spring Boot可以内嵌Tomcat,这样我们无需以war包的形式部署项目。
  • 提供starter简化Maven配置
    使用Spring或者SpringMVC我们需要添加大量的依赖,而这些依赖很多都是固定的,这里Spring Boot 通过starter能够帮助我们简化Maven配置。
  • 自动配置Spring
  • 准生产的应用监控
  • 开箱即用,没有代码生成,也无需XML配置。
  • 提供生产就绪型功能,如指标,健康检查和外部配置

开发步骤

创建Maven Project

  • new Project--->Maven--->Maven Project

  • 勾选Create a simple project,一路next

  • 注意:Spring Boot可以以jar包的形式来运行,所以此处的打包方式可以是jar

  • finsih

  • 在resource中添加如下文件夹和application.properties

pom.xml文件配置

  • 添加依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.tl</groupId>
	<artifactId>springboot</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>springboot</name>
	<description>Demo project for Spring Boot</description>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.9.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>


</project>
  • build完成之后,相应的jar包已经添加进入了
  • 在项目上右键:Maven---->Update Project,刷新项目,报错消失
  • 在com.tl.app包下创建入口函数
package com.tl.app;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;

@EnableAutoConfiguration
@ComponentScan(basePackages={"com.tl"})
public class Appstart {
	public static void main(String[] args){
		SpringApplication.run(Appstart.class,args);
	}
} 
  • 创建Controller
package com.tl.app;

import java.util.HashMap;
import java.util.Map;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@org.springframework.stereotype.Controller
public class Controller {
	@RequestMapping("/index")
	@ResponseBody
	public Map<String,String> index(){
		Map map = new HashMap<String,String>();
		map.put("悟空","是只猴子");
		map.put("鲁班","是个英雄");
		return map;
	}
}
  • 执行入口函数

  • Tomcat已经启动,端口为8080

  • 访问Controller

 最后来一句,对于一个初学者来说很累呀!!!

转载于:https://www.cnblogs.com/bhy-1116/p/8345846.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SpringBoot介绍及环境搭建 的相关文章

  • 抽象超类的默认接口方法

    可以说我有以下结构 abstract class A abstract boolean foo interface B default boolean foo return doBlah class C extends A implemen
  • Spring Data:限制自定义查询的结果

    在我的 Spring 数据存储库中 我 必须 使用自定义查询 Query注解 我知道我可以限制这样的命名查询中的结果数量 Iterable
  • 使用 xuggle 将 mp3 转换为 wav 出现异常

    我正在尝试将 mp3 转换为 wav 代码在这里 String mp3 F work pic2talk38512 mp3 String wav F work pic2talk38512 wav TranscodeAudioAndVideo
  • 从 Bitmap 类创建 .bmp 图像文件

    我创建了一个使用套接字的应用程序 客户端在其中接收图像并将图像数据存储在 Bitmap 类中 谁能告诉我如何创建一个名为我的图像 png or 我的图像 bmp来自此 Bitmap 对象 String base64Code dataInpu
  • 根据哈希值确认文件内容

    我需要 检查完整性 content文件数量 文件将写入 CD DVD 可能会被复制多次 这个想法是识别正确复制的副本 在从 Nero 等中删除它们之后 我对此很陌生 但快速搜索表明Arrays hashCode byte http down
  • ASM之前看一下maxStack指令吗?

    我正在尝试使用 ASM 库将字节代码转换为不同的格式 这可以使用 MethodVisitor 来完成 就像这个简单的测试代码一样 return new MethodVisitor ASM7 Override public void visi
  • Spring 术语中命令、表单、业务和实体对象之间的区别?

    我试图理解这些对象在松散耦合系统方面的差异 业务对象与实体对象相同吗 我可以使用 MVC 中的业务或实体对象作为我的命令对象吗 命令对象与表单对象相同吗 只是寻找 Spring 术语和用法中对象类型的说明 我在 stackoverflow
  • 在Java中使用BufferedWriter写入文件时监视文件大小?

    我正在将一个可能很长的项目列表写入文件 我正在写的项目的长度是可变的 如果生成的文件大小大于10M 则应将其分成多个文件 为了提高性能 我目前使用 BufferedWriter 如下所示 final FileOutputStream fos
  • 我们必须将 .class 文件放在 Tomcat 目录中的位置

    我必须把我的 class文件在 Tomcat 目录中 在我的 Java Complete Reference 书中 他们告诉将其放入C Program Files Apache Tomcat 4 0 webapps examples WEB
  • 驱动程序信息:driver.version:未知,使用 ChromeDriver v78.0.3904.70 和 Chrome 浏览器 v78.0.3904.97

    我使用的是java 1 8和chrome浏览器版本78 0 3904 97 我正在尝试使用 chrome 驱动程序版本执行我的 selenium 脚本代码78 0 3904 70 但在执行时我面临以下问题并且 chrome 立即崩溃 Pic
  • Java 7 中 Object 和 int 的比较

    最近我偶然发现了一个问题 让我停下来思考 对我来说 下面的代码应该总是会触发错误 但是当我的一位同事问我为什么 Eclipse 没有显示错误时 我无法回答任何问题 class A public static void main String
  • Akka 和 spring 配置

    我正在尝试将 akka 与 spring 结合起来 但没有成功 基本上 我的应用程序似乎不习惯读取 akka 模式 具有架构的 service context xml 的一部分
  • java 1.8下无法启动eclipse

    java 1 8 升级后我无法启动 eclipse 附上错误截图 这是我的 eclipse 配置设置 我该如何解决 startup plugins org eclipse equinox launcher 1 3 0 v20120522 1
  • 设置 JAVA_HOME 变量时出现问题

    所以我刚刚下载了 Android Studio 并尝试设置 JAVA HOME 变量以便我可以运行它 我使用的是 Windows 8 并按照我找到的所有说明进行操作 但无济于事 转到高级系统设置 gt 环境变量 然后使用包含我的 jre7
  • 将变量从 jenkins 传递到 testng.xml

    我想根据从詹金斯传递的变量运行测试用例 例如 选择您要运行的测试用例 测试用例一 测试用例二 在 pom xml maven 中
  • Microsoft JDBC 中的 JTDS 属性相当于什么?

    我正在将 JTDS 连接更改为 Microsoft JDBC 并且我看到存在于http jtds sourceforge net faq html http jtds sourceforge net faq htmlMicrosoft JD
  • 如何使用 Nimbus LookAndFeel 更改 JToolTip 的背景颜色?

    在使用 Nimbus LookAndFeel 的基于 Swing 的 Java 应用程序中 我尝试设置工具提示的背景颜色 因此 我创建了 JToolTip 的子类 并通过重写 createToolTip 在我的组件中使用它 到目前为止一切正
  • Python 可以替代 Java 小程序吗?

    除了制作用于物理模拟 如抛射运动 重力等 的教育性 Java 小程序之外 还有其他选择吗 如果你想让它在浏览器中运行 你可以使用PyJamas http pyjs org 这是一个 Python 到 Javascript 的编译器和工具集
  • JSP 和 scriptlet

    我知道现在使用 scriptlet 被认为是禁忌 没关系 我会同意Top Star的话 因为我目前只是Java新手 到目前为止我听到的是 它是为了让设计师的生活更轻松 但我想知道 这是否与JSP页面的性能有关 另一方面 如果只是为了 让设计
  • 安卓框架?

    是否有任何框架比构建 Android 应用程序更容易 您会对其中一个感兴趣吗 很快就会有 我正在开发 DroidFu 一个 Android 共享库 它将为您提供 活动 和服务 中直接提供大量实用功能 例如生成列表和错误对话框 检查 Inte

随机推荐

  • Solidity 合约安全,常见漏洞(第三篇)

    Solidity 合约安全 常见漏洞 第三篇 ERC20 代币问题 如果你只处理受信任的 ERC20 代币 这些问题大多不适用 然而 当与任意的或部分不受信任的 ERC20 代币交互时 就有一些需要注意的地方 ERC20 转账扣费 当与不信
  • 建模杂谈系列231 对象化-学习型对象

    说明 简单归纳一下最近的学习型对象封装 做一个基类 之后可以基于这个基类继续迭代 内容 1 关于字典的格式 Python的字典格式写起来太麻烦了 所以我定义了一个简单对象 来取代字典 字典的赋值方式 a dict a dict abc 1
  • 为什么 Linux 没有注册表?

    目录 linux无注册表机制的优势 为什么 Linux 没有注册表 linux无注册表机制的优势 linux系统有注册表吗 鸿网互联 本教程操作环境 linux7 3系统 Dell G3电脑 linux系统没有注册表 注册表 Registr
  • MySql 插入(insert)性能测试 以及优化

    http blog csdn net lgh1117 article details 8619486 测试环境 笔记本电脑 CPU I5 系统 MAC OS 10 7 内存 8G 硬盘 5400转 笔记本硬盘 MySql 版本 Oracle
  • ChatGLM(国内版的chatGPT)

    Git链接 GitHub THUDM ChatGLM 6B ChatGLM 6B 开源双语对话语言模型 An Open Bilingual Dialogue Language Model 介绍 ChatGLM 6B 是一个开源的 支持中英双
  • Unity UI拖拽模型选择

    指定一块区域 玩家鼠标or手指拖拽这个区域 模型会进行偏移 并用于进行人物 道具的选择 给模型定义一些属性 using System Collections using System Collections Generic using Un
  • BaGet搭建Nuget私仓(window10&docker)

    文章目录 一 搭建背景 二 框架简介 三 私仓搭建 1 环境 2 win10上部署 2 1安装SDK 2 2下载和解压BaGet包 2 3运行项目 2 4类库项目 2 5将包发布到私有Nuget中 2 6使用BaGetFirstLib 2
  • React中使用Hooks - useImperativeHandle

    useImperativeHandle useImperativeHandle ref createHandle dependencies 可以使用 useImperativeHandle 来暴露一些特定的操作 在子组件中使用useImpe
  • 随机森林和梯度提升回归树(笔记)

    最近在自学图灵教材 Python机器学习基础教程 在csdn以博客的形式做些笔记 决策树集成 集成 ensemble 是合并多个机器学习模型来构建更强大模型的方法 在机器学习文献中有许多模型都属于这一类 但已证明有两种集成模型对大量分类和回
  • com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@解决方案

    在配置c3p0通过配置文件创建数据源对象时 报错信息如题 原因一 你的数据库各类信息是否正确 url username password是否正确 原因二 是否将必需的jar包都放进工程中 原因三 你导入的mysql的jar包和你设置的驱动信
  • chrome浏览器如何查看、修改、删除Cookie

    1 chrome浏览器的cookie保存位置 C Users 你的用户名 AppData Local Google Chrome User Data Default 快捷键win r 运行以上路径可以打开该目录 Cookies文件存储的就是
  • centos手动增加删除swap分区

    SWAP是Linux中的虚拟内存 用于扩充物理内存不足而用来存储临时数据存在的 它类似于Windows中的虚拟内存 在Windows中 只可以使用文件来当作虚拟内存 而linux可以文件或者分区来当作虚拟内存 首先查看当前的内存和swap
  • shell浅谈之八I/O重定向

    一 简介 I O重定向用于捕获一个文件 命令 程序或脚本甚至代码块的输出 然后把捕获到的输出作为输入发送给另外一个文件 命令 程序或脚本等 I O重定向最常用的方法是管道 管道符 二 详解 1 管道 1 管道技术是Linux间的一种通信技术
  • Spring框架概述 --- 控制反转, 依赖注入, 容器和Bean

    Spring框架概述 控制反转 依赖注入 容器和Bean Spring框架的好处 控制反转 Spring IOC容器和Bean 依赖注入 控制反转的实现方法 Spring中bean的装配 定义bean并描述bean之间的依赖关系 Sprin
  • 哈工大2020春软件构造期末试题

  • 机器视觉 解决方案

    1 光源选型 光源作用及选型方法 照明作用 1 使需要被观察的特征与需要被忽略的特征之间产生的最大的对此度 从而易于特征的区分 2 排除周围环境光的干扰 光源的颜色 如果需要打成白色 那么就得使用与此颜色相同或相似的光源 光的波长一样活接近
  • C#运行程序无法启动,因为应用程序的并行配置不正确【解决方案】

    最近编写个C 控制台应用程序 调试正常之后 通过U盘copy到产线电脑 结果运行报错如下 1 通过代码调试发现无任何效果 说面不是代码引起的异常也捕获不到这个系统错误 2 重新生成程序 将整个Debug项目文件放置到产线电脑 可以正常运行
  • git记录python代码

    准备阶段 cd path 进入要创建文件夹的路径 mkdir name 创建文件夹 建立工作区 pwm 查看所在文件价路径名 git init 文件夹初始化 此后可以记录文档变化 进行阶段 git add FileName 后缀 将file
  • centos7安装libreoffice

    下载地址 https www libreoffice org download download type rpm x86 64 version 6 1 4 lang zh CN 1 将下载的文件拷贝到安装的目录 mv LibreOffic
  • SpringBoot介绍及环境搭建

    什么是SpringBoot Spring Boot是由Pivotal团队提供的全新框架 其设计目的是用来简化新Spring应用的初始搭建以及开发过程 该框架使用了特定的方式来进行配置 从而使开发人员不再需要定义样板化的配置 SpringBo