快速搭建Springboot项目(一)

news2024/11/23 19:06:28

目录

  • 第一章、Spring Boot框架介绍
    • 1.1)Springboot是什么,有什么好处
    • 1.2)spring boot的两大策略与四大核心
  • 第二章、快速搭建spring boot 项目
    • 2.1)idea快速创建spring boot项目
    • 2.2)pom文件内容的含义
    • 2.3)起步依赖查看
  • 第三章、快速启动spring boot项目
    • 3.1)同级包或子包中创建一个SpringBootController
    • 3.2)properties配置文件中进行配置
    • 3.3)启动并访问

友情提醒:

先看文章目录,大致了解文章知识点结构,点击文章目录可直接跳转到文章指定位置。

第一章、Spring Boot框架介绍

1.1)Springboot是什么,有什么好处

①概念:
Springboot是Java 框架。开发人员在用 Java 编程语言来创建应用时,所使用的一系列预编写代码。它们起着模板的作用,这样开发人员即可以在一定的结构上来编写应用,而无需从头开始手动创建。

②好处:
1.Spring Boot抛弃了繁琐的xml配置过程,使用对应注解来代替,采用大量的默认配置简化我们的开发过程(主要简化配置)。
2.能够快速创建基于Spring的应用程序
3.能够直接使用java main方法启动内嵌的Tomcat服务器运行Spring Boot程序,不需要部署war包文件。
4.提供约定的starter POM依赖来简化Maven配置,让Maven的配置变得简单。
5.自动化配置,根据项目的Maven依赖配置,Spring boot自动配置Spring、Spring mvc等。
6.提供了程序的健康检查等功能

1.2)spring boot的两大策略与四大核心

①两个策略:开箱即用和约定优于配置。
1.开箱即用是通过在MAVEN项目的pom文件中添加相关依赖包,然后使用对应注解来代替繁琐的XML配置文件以管理对象的生命周期。
2.约定优于配置是由SpringBoot本身来配置目标结构,由开发者在结构中添加信息,减少了开发人员需要做出决定的数量,同时可以将代码编译、测试和打包等工作自动化。

②四大核心
1.自动配置——Auto-Configuration
它是指基于你引入的依赖Jar包,对SpringBoot应用进行自动配置,它为SpringBoot框架的"开箱即用"提供了基础支撑。

2.起步依赖
起步依赖就是特殊的Maven依赖,利用了传递依赖解析,把常用库聚合在一起。不再需要向项目pom.xml文件中添加一堆单独的依赖,添加依赖时不需要指定依赖的版本号而由当前的Spring Boot版本号决定。

3.自带监控组件——Actuator
管理和监控工具,用于监控和管理Spring Boot应用程序。它可以提供对应用程序的运行时信息、健康状况、性能指标、日志等进行监控和管理

4.命令行界面
这是Spring Boot的可选特性,主要针对Groovy语言使用,Groovy 代码能够与Java代码很好地结合,也能用于扩展现有代码,由于其运行在JVM上的特性,Groovy可以使用其他Java语言编写的库。

第二章、快速搭建spring boot 项目

2.1)idea快速创建spring boot项目

①file–>new project
在这里插入图片描述
②创建一个新工程 ,名为springboot
在这里插入图片描述
在这里插入图片描述

③在新工程下创建新module
在这里插入图片描述
选择spring initializr 右侧的Module SDK根据自己的jdk版本选择相应jdk
在这里插入图片描述

④指定GAV及pom配置信息
在这里插入图片描述

⑤选择Spring Boot版本及依赖
在这里插入图片描述

⑥创建完成
在这里插入图片描述

2.2)pom文件内容的含义

①新建后项目结构如图
在这里插入图片描述

②pom文件内容解释

<?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>
    <!--继承SpringBoot框架的一个父项目,所有自己开发的Spring Boot都必须的继承-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.16</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <!--当前项目的GAV坐标-->
    <groupId>com.example.springboot</groupId>
    <artifactId>001-springboot-first</artifactId>
    <version>1.0.0</version>

    <!--maven项目名称,可以删除-->
   <name>001-springboot-first</name>
    <!--maven项目描述,可以删除-->
    <description>Demo project for Spring Boot</description>

    <!--maven属性配置,可以在其它地方通过${}方式进行引用-->
    <properties>
        <java.version>11</java.version>
    </properties>


    <dependencies>
        <!--SpringBoot框架web项目起步依赖,通过该依赖自动关联其它依赖,不需要我们一个一个去添加了-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!--SpringBoot框架的测试起步依赖,例如:junit测试,如果不需要的话可以删除-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <!--SpringBoot提供的打包编译等插件-->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

2.3)起步依赖查看

①起步依赖将常用库聚合在一起。不再需要向项目pom.xml文件中添加一堆单独的依赖,添加依赖时不需要指定依赖的版本号而由当前的Spring Boot版本号决定。
 ②pom文件内容的含义如下

第三章、快速启动spring boot项目

3.1)同级包或子包中创建一个SpringBootController

①根据springboot的约定,Java代码必须要在Application的同级包或者子包中
在这里插入图片描述
①SpringBootController类的代码如下

package com.example.springboot.web;

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

@Controller
public class SpringBootController {

    @RequestMapping(value = "/springBoot/first")
    @ResponseBody
    public String say() {
        return "Hello,springBoot!";
    }
}

3.2)properties配置文件中进行配置

①Spring Boot的核心配置文件用于配置Spring Boot程序,名字必须以application开始。默认采用的是properties配置文件,可以在其中配置站点名称和端口号
在这里插入图片描述
②配置信息如下

#设置内嵌Tomcat端口号
server.port=9001

#配置项目上下文根
server.servlet.context-path=/001-springboot-first

3.3)启动并访问

①在IDEA中右键,运行Application类中的main方法,启动SpringBoot框架,会启动一个内嵌的tomcat,端口号为配置的9001,上下文根为配置的/001-springboot-first
在这里插入图片描述

②在浏览器中输入http://localhost:9001/001-springboot-first/springBoot/first访问,访问成功

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1071692.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

195、SpringBoot--配置RabbitMQ消息Broker的SSL 和 管理控制台的HTTPS

开启Rabbitmq的一些命令&#xff1a; 小黑窗输入&#xff1a; rabbitmq-plugins enable rabbitmq_management 启动控制台插件&#xff0c;就是启动登录rabbitmq控制台的页面 rabbitmq_management 代表了RabbitMQ的管理界面。 rabbitmq-server 启动rabbitMQ服务器 上面这个&…

springboot中的静态资源规则~

静态资源处理&#xff1a; 默认的静态资源路径为 calsspath:/META-INF/resources/ classpath:/resources/ classpath:/static/ classpath:/public/如果我们将静态资源放置上述四种路径处&#xff0c;那么可以通过项目根路径/静态资源名称的方式访问到&#xff0c;否则会访问不…

Oracle-ASM实例communication error问题处理

问题背景&#xff1a; Oracle数据库日志出现大量的WARNING: ASM communication error: op 0 state 0x0 (15055)错误 问题分析: 首先检查ASM实例的状态,尝试通过sqlplus / as sysasm连接asm实例&#xff0c;出现Connected to an idle instance连接asm实例失败 检查ASM实例的后台…

mysql面试题27:数据库中间件了解过吗?什么是sharding jdbc、mycat,并且讲讲怎么使用?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:数据库中间件了解过吗,比如sharding jdbc、mycat? 我知道的数据库中间件有以下这些: MySQL Proxy:MySQL Proxy是一个开源的数据库中间件,它位…

SSM170基于SSM的疫情物质管理系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

怎么禁止windows server2003系统中的用户进行本地登陆

随着科技的发展&#xff0c;电脑已经成为人们日常生活中必不可少的工具&#xff0c;电脑系统也在逐步更新&#xff0c;这就导致了许多人对于陌生的系统都不知道应该怎么办&#xff1f;当我们在使用windows server2003时&#xff0c;如何设置用户禁止本地登陆呢&#xff1f;接下…

【Linux初阶】多线程1 | 页表的索引作用 线程基础

本文要点 再次理解页表&#xff0c;了解页表是如何利用虚拟地址进行索引&#xff0c;实现数据读取和传输的了解线程概念&#xff0c;线程的优缺点&#xff0c;线程异常的后果了解线程和进程的差异了解线程库及其基本调用接口&#xff08;进程创建、终止、等待、控制&#xff0…

SQL sever中的视图

目录 一、视图概述&#xff1a; 二、视图好处 三、创建视图 法一&#xff1a; 法二&#xff1a; 四、查看视图信息 五、视图插入数据 六、视图修改数据 七、视图删除数据 八、删除视图 法一&#xff1a; 法二&#xff1a; 一、视图概述&#xff1a; 视图是一种常用…

如何使用 Datree 避免 Kubernetes 错误配置

Kubernetes 是一个复杂的系统,具有许多移动部件。正确的配置规则对于您的服务可靠运行至关重要。当您在没有经过全面审查过程的情况下手动编写 Kubernetes 清单时,可能会出现错误。 Datree是一个基于规则的工具,可以自动查找清单中的问题。您可以使用它来发现策略违规行为,…

常见算法-洗扑克牌(乱数排列)

常见算法-洗扑克牌&#xff08;乱数排列&#xff09; 1、说明 洗扑克牌的原理其实与乱数排列是相同的&#xff0c;都是将一组数字&#xff08;例如1∼N&#xff09;打乱重新排列&#xff0c;只不过洗扑克牌多了一个花色判断的动作而已。 初学者通常会直接想到&#xff0c;随…

基于 ACK Fluid 的混合云优化数据访问(一):场景与架构

作者&#xff1a;车漾&#xff08;必嘫&#xff09; 本系列文章将介绍如何基于 ACK Fluid 支持和优化混合云的数据访问场景。 概述 在 AI 和大数据时代&#xff0c;算力即正义&#xff0c;强大的算力推动了源源不断的创新。然而&#xff0c;企业自建的算力集群存在资源容量和…

继续改进 换一种 使用 result 想直接用CourseExtend

改 c.cid cid, 表示 c.cid 在 from timetable tt inner join teacher t on tt.tidt.tid inner join course c on tt.cidc.cid where tt.cid#{cid} 查出来了 任何赋值给 后面那个cid t.tname "teacher.tname", 表示查出来 赋值给下图那个teacher类的对应属性…

解决:yarn 无法加载文件 “C:\Users\XXXXX\AppData\Roaming\npm\yarn.ps1,因为在此系统上禁止运行脚本“ 的问题

1、问题描述&#xff1a; 报错的整体代码为&#xff1a; yarn : 无法加载文件 C:\Users\admin\AppData\Roaming\npm\yarn.ps1&#xff0c;因为在此系统上禁止运行脚本 // 整体的报错代码为 &#xff1a; yarn : 无法加载文件 C:\Users\admin\AppData\Roaming\npm\yarn.ps1&…

HarmonyOS/OpenHarmony原生应用开发-华为Serverless云端服务支持说明(一)

云端服务的实现是HarmonyOS/OpenHarmony原生应用开发的一个重要的环节&#xff0c;如果用户端是鸿蒙原生应用&#xff0c;但是服务端即云端还是基于传统的各种WEB网络框架、数据库与云服务器&#xff0c;那么所谓的原生应用开发实现的数据即后端服务是和以前、现在的互联网、移…

线性代数中涉及到的matlab命令-第一章:行列式

目录 1&#xff0c;逆序数 2&#xff0c;行列式定义和性质 2.1&#xff0c;常用特性及命令 2.2&#xff0c;求行列式 2.3&#xff0c;行列式的性质 2&#xff0c;行列式按行&#xff08;列&#xff09;展开 3&#xff0c;范德蒙德行列式 在学习线性代数过程中&#…

ssm172基于SSM的旅行社管理系统的设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

python每日一练(3)

&#x1f308;write in front&#x1f308; &#x1f9f8;大家好&#xff0c;我是Aileen&#x1f9f8;.希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流. &#x1f194;本文由Aileen_0v0&#x1f9f8; 原创 CSDN首发&#x1f412; 如…

安装torchtext遇到的坑及解决办法

刚开始秉着需要什么就pip install什么的原则直接pip install torchtext&#xff0c;结果&#xff1a; 把我这个环境打乱了&#xff0c;自作主张的删掉之前的很多包重新安装了其他版本的包而不是自适应的安装当前torch所对应的torchtext。因为这个环境比较重要也用在其他的工程…

【办公-excel】两个时间相减 (二) - 带毫秒的时间进行相减操作

一、使用内部函数 1.1 效果展示 TEXT(((RIGHT(TEXT(B2,"yyyy-mm-dd hh:mm:ss.000"),LEN(TEXT(B2,"yyyy-mm-dd hh:mm:ss.000"))-FIND(".",TEXT(B2,"yyyy-mm-dd hh:mm:ss.000")))-RIGHT(TEXT(A2,"yyyy-mm-dd hh:mm:ss.000"),…

力扣刷题 day38:10-08

1.矩阵中战斗力最弱的 K 行 给你一个大小为 m * n 的矩阵 mat&#xff0c;矩阵由若干军人和平民组成&#xff0c;分别用 1 和 0 表示。 请你返回矩阵中战斗力最弱的 k 行的索引&#xff0c;按从最弱到最强排序。 如果第 i 行的军人数量少于第 j 行&#xff0c;或者两行军人数…