Spring Boot 入门

Spring Boot快速入门指南(新手向) SpringBoot入门 0.学习目标 了解SpringBoot的作用 了解Java配置的方式 了解Spring Boot自动配置原理 掌握Spring Boot的基本使用 了解Thmeleaf的基本使用 1.了解Spring Boot 在这一部分,我们主要了解以下3个问题: 什么是SpringBoot 为什么要学习SpringBoot SpringBoot的特点 1.1.什么是SpringBoot Spring Boot是Spring项目中的一个子工程,与我们之前所学习的Spring-framew 阅读详情

一、简介

Spring 官方网站本身使用Spring 框架开发,随着功能以及业务逻辑的日益复杂,应用伴随着大量的XML配置文件以及复杂的Bean依赖关系。
随着Spring 3.0的发布,Spring IO团队主键开始摆脱XML配置文件,并且在开发过程中大量使用“约定优先配置”(convention over configuration)的思想来摆脱Spring框架中各种复杂的配置,衍生了Java Config。

Spring Boot正是在这样的一个背景下被抽象出来的开发框架,它本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。也就是说,它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具。同时它集成了大量常用的第三方库配置(例如Jackson, JDBC, Mongo, Redis, Mail等等),Spring Boot应用中这些第三方库几乎可以零配置的开箱即用(out-of-the-box),大部分的Spring Boot应用都只需要非常少量的配置代码,开发者能够更加专注于业务逻辑。

该项目旨在帮助开发者更容易地创建基于Spring的应用程序和服务,使得现有的和新的Spring开发者能够最快速地获得所需要的Spring功能。

Spring Boot不生成代码,且完全不需要XML配置。其主要目标如下:
- 为所有的Spring开发工作提供一个更快、更广泛的入门经验。
- 开箱即用,你也可以通过修改默认值来快速满足你的项目的需求。
- 提供了一系列大型项目中常见的非功能性特性,如嵌入式服务器、安全、指标,健康检测、外部配置等。

博主准备写一组 Spring-Boot 入门的帖子,仅为了抛砖引玉,让需要的同学可以尽快了解如何使用Spring-Boot,内容参考官网和网上的资料(http://projects.spring.io/spring-boot/)。


下面是目录:

Spring-Boot 入门
Spring-Boot Controller
Spring-Boot Servlet
Spring-Boot 过滤器、监听器
Spring-Boot 拦截器
Spring-Boot 静态资源处理
Spring-Boot 启动加载数据
Spring-Boot 日志记录
Spring-Boot JDBC 连接数据库
Spring-Boot JPA 连接数据库
Spring-Boot MyBatis 连接数据库
Spring-Boot 连接数据库 - 多数据源
Spring-Boot Shiro 权限管理
Spring-Boot 集成Shiro和CAS
Spring-Boot 环境变量读取 和 属性对象的绑定
Spring-Boot 动态数据源(多数据源自动切换)
Spring-Boot 事务的使用
Spring-Boot 部署与服务配置

开发工具:Spring Tool Suite v_3.7.2(简称STS)
官网地址:http://spring.io/tools/sts

二、入门实例 - HelloWorld

File > New > Spring Starter Project
这里写图片描述
这里写图片描述

Next > Finish

项目创建完成:
这里写图片描述

可以看出,项目源码就一个Java类,在pom.xml中有spring-boot-starter-web的依赖。

SpringBootSampleApplication.java

package org.springboot.sample;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class SpringBootSampleApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringBootSampleApplication.class, args);
    }
}

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>org.springboot.sample</groupId>
    <artifactId>spring-boot-sample</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>spring-boot-sample</name>
    <description>Spring Boot Sample Web Application</description>

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

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <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>

这样就完成了项目的创建,下面我们创建一个 HelloController.java 定义3个方法

package org.springboot.sample.controller;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/hello")
public class HelloController {

    @RequestMapping
    public String hello() {
        return "Hello Spring-Boot";
    }

    @RequestMapping("/info")
    public Map<String, String> getInfo(@RequestParam String name) {
        Map<String, String> map = new HashMap<>();
        map.put("name", name);
        return map;
    }

    @RequestMapping("/list")
    public List<Map<String, String>> getList() {
        List<Map<String, String>> list = new ArrayList<>();
        Map<String, String> map = null;
        for (int i = 1; i <= 5; i++) {
            map = new HashMap<>();
            map.put("name", "Shanhy-" + i);
            list.add(map);
        }
        return list;
    }
}

然后现在可以直接运行 SpringBootSampleApplication 的main方法,和执行普通java程序一样。
然后可以看到spring-boot 内置server容器(默认为Tomcat),这一切spring-boot 都帮我们做好了。

控制台输出内容 Started SpringBootSampleApplication in 7.358 seconds (JVM running for 9.154) 表示服务已经启动。

在浏览器输入我们3个请求便可看到结果。
http://localhost:8080/hello
输出:Hello Spring-Boot
http://localhost:8080/hello/info?name=shanhy
输出:{“name”:”shanhy”}
http://localhost:8080/hello/list
输出:[{“name”:”Shanhy-1”},{“name”:”Shanhy-2”},{“name”:”Shanhy-3”},{“name”:”Shanhy-4”},{“name”:”Shanhy-5”}]

通过我们的Hello实例,相信大家一目了然,可谓spring-boot创建一个项目如此简单,完全可以在几分钟内将服务启动。
spring-boot抛弃繁琐的配置,让开发人员更专注与业务逻辑的实现。后面几篇文章将会对spring-boot的多个方面通过实例的方式呈现给大家。

Spring Boot 入门案例 Spring Boot 入门案例总体步骤新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 总体步骤 建立数据表和实体类,要与数据表字段保持一致 建立mapper类,定义操作数据库的动作 建立mapper的xml文件,写具体 阅读详情

相关推荐

Java Spring Boot 入门:开启高效开发之旅

Spring Boot 是一个基于 Spring 框架的开源项目,旨在通过自动化配置和内嵌服务器来简化 Spring 应用的初始搭建和开发过程。它提供了大量的开箱即用功能,使得开发者可以更加专注于业务逻辑的实现,从而提高开发效率。通过上述步骤,你已经成功创建了一个简单的 Spring Boot 应用。当然,这只是一个开始,Spring Boot 还有大量的功能等待你去探索。官方文档:阅读 Spring Boot 官方文档(),了解更详细的内容和高级特性。实践练习。

JID007的博客 1516

Spring Boot入门案例

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

weixin_45054136的博客 909

Spring Boot 进阶- Spring Boot入门程序详解

在之前的项目中我们看到在resource目录中有一个application.properties的文件,现在我们习惯使用application.yml配置文件,其实二者所实现的效果是一样的。在Spring Boot中为开发者提供了很多的场景启动器,并且这些启动器的配置信息并不是在内部写死的,例如配置数据库、配置中间件、配置服务的端口号这些内容。在Spring Boot中统一使用了Properties类对这些配置进行了抽象。在Spring启动的时候可以通过对应的配置前缀进行读取相应的配置值。

初学者 2214

Spring Boot 入门笔记

Spring Boot 入门 Build systems: Maven | Gradle | Ant | Starter POMs Best practices: Code Structure | @Configuration | @EnableAutoConfiguration | Beans and Dependency Injection Running your code: IDE | Pa

要坚持,要认真。 5618

Spring Boot入门篇 | Spring Boot 1

一、什么是Spring Boot Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是 Spring Boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring ...

学Java,找哪吒 2万+

Spring Boot框架学习 - Spring Boot入门程序

一、springboot 入门(Spring Boot 2.6.2) 1、检查环境 Spring Boot 2.6.2 需要 Java 8,并且兼容 Java 17(包括 Java 17)。还需要 Spring Framework 5.3.14 或更高版本。 为以下构建工具提供了显式构建支持: 在我们开始之前,打开一个终端并运行以下命令以确保您安装了有效版本的 Java 和 Maven: $ java -version java version "1.8.0_102" Java(TM) SE Runtim

TyuIn的博客 369

Spring Boot开发入门

Spring Boot开发入门Spring Boot概述SpringBoot入门程序使用Maven方式构建Spring Boot项目1.初始化IDEA配置创建Maven项目添加Spring Boot相关依赖编写主程序启动类创建一个用于Web访问的Controller运行项目 Spring Boot概述 Spring Boot框架本身并不提供Spring框架的核心特性以及拓展功能,只是用于快速 敏捷的开发新一代基于Spring框架的应用。 SpringBoot的优点 (1)可快速构建独立的Spring应用 (

qq_50834939的博客 1080

【操作系统】实验楼操作系统实验三——系统调用

操作系统实验3——系统调用 环境配置 ​ 首先同样是配置环境 cd /home/shiyanlou/oslab tar -zxvf hit-oslab-linux-20110823.tar.gz -C /home/shiyanlou 实验步骤 添加函数声明 cd ~/oslab/linux-0.11/include/linux gedit sys.h //添加内容: extern int sys_whoami(); extern int sys_iam(); fn_ptr_sys_call_table

qq_46612803的博客 6359

【Spring Boot】从入门到放弃【基础篇】

要想学习Spring Boot你需要拥有相应的Spring框架使用经验和Maven的使用:Spring教程 文章目录基础篇一、Spring Boot 入门简介:特点:微服务简介maven配置(在maven安装目录conf文件夹下配置setting.xml)HelloWorld入门程序HelloWorld探究二、Spring Boot 配置三、Spring Boot 与日志四、Spring Boot...

qq_40181435的博客 1633

如何从RHEL 8升级到RHEL 9

Red Hat 于 2022 年 5 月 17 日宣布全面推出 RHEL 9。这是 RHEL(Red Hat Enterprise Linux)的最新版本,它具有许多功能和增强功能。

u012748257的博客 1020

R语言新手也能搞定!WGCNA分析全流程代码详解(附常见报错解决方案)

本文为R语言新手提供了WGCNA分析的完整代码流程与实战指南。从环境配置、数据准备、软阈值选择、网络构建到模块-表型关联分析,逐步详解核心步骤。重点针对安装依赖、内存不足等常见报错提供了具体解决方案,帮助初学者避开陷阱,顺利完成加权基因共表达网络分析。

terraform7cloud的博客 541

Spring Boot入门

Spring Web Starter 是构建Web应用程序的基础Starter,它提供了一系列构建Web应用所需的依赖。依赖集成:Spring Web Starter 自动集成了Tomcat作为默认的嵌入式服务器,同时集成了Spring MVC,提供了对RESTful应用的支持。功能特性:它支持JSON和XML的序列化与反序列化,使得数据交换更加便捷。此外,它还提供了对异步请求处理的支持,提高了Web应用的性能。

阿尔法星球的专栏 2091

Unity类银河恶魔城学习记录1-10 PlayerWallJump源代码 P37

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考

Homura_的博客 1379

Spring boot项目搭建入门

Spring boot项目搭建入门,包含项目从构建到添加各种常用依赖

LGL的专栏 1万+

Cyclone MAX独立编程实战:从硬件接口到SAP镜像的嵌入式烧录指南

在嵌入式系统开发与量产中,固件烧录是连接软件与硬件的关键环节。其核心原理是通过特定的调试接口(如JTAG、BDM)和编程算法,将编译后的机器码写入目标处理器的非易失性存储器。这项技术的价值在于确保软件在硬件上的可靠部署,是产品功能实现和质量保证的基础,广泛应用于汽车电子、工业控制等对一致性与可靠性要求极高的领域。独立编程器(Stand-Alone Programmer)在此基础上,通过集成存储、交互界面和任务逻辑,实现了脱离PC的自动化操作,极大提升了产线效率和现场维护的便捷性。本文以Cyclone MAX

weixin_34038293的博客 468

【YOLOs-CPP-图像分类部署】04-项目优化(加速部署)

本文详细介绍了将YOLO图像分类C++部署项目从CMake迁移到Visual Studio控制台应用的全过程。针对低配CPU性能瓶颈问题,作者通过替换多线程HPP代码为官方实现,并采用448x448固定输入尺寸优化推理速度。项目配置包含OpenCV和ONNX Runtime环境设置,实现了图像批量处理、分类结果显示及结果日志输出功能。关键步骤包括依赖库配置、DLL部署和代码调试,最终在Windows平台成功实现高效CPU推理。该方案显著提升了低配硬件的兼容性,为图像分类任务提供了稳定的部署解决方案。

深耕CV 355

Spring Boot3快速入门

本文手把手教你使用Spring Boot3构建第一个Web应用,详解项目创建、依赖配置到自动部署全流程。对比传统Spring MVC项目,展示Spring Boot开箱即用特性,并通过三种脚手架工具(官方/阿里/IDEA)演示项目快速生成,最后深入解析可执行JAR包原理与灵活配置技巧。

m0_73941339的博客 2205

零基础入门Simulink——基于Simulink的MIMO-OFDM系统仿真建模示例

MIMO概述MIMO技术利用多个天线进行信号发送和接收,通过空间复用来提高数据传输速率,或通过空间分集来增强信号的可靠性。OFDM概述OFDM是一种将高速率数据流分成多个低速数据流并行传输的技术,每个子载波都采用调制方式(如BPSK、QPSK),并通过IFFT/FFT变换实现串并转换。MIMO-OFDM优势结合了MIMO的空间分集增益与OFDM对抗多径效应的能力,适用于宽带无线通信系统。提供了更高的数据速率和更好的频谱效率,是现代无线通信标准(如4G LTE、5G NR等)的核心技术之一。

amy_mhd的博客 891

Spring Boot入门(一)从HelloWorld开始

Spring Boot 入门(一) 一、Spring Boot 介绍 1.如果使用 Spring 开发一个"HelloWorld"的 web 应用: 1) 创建一个 web 项目并且导入相关 jar 包。SpringMVC Servlet 2)创建一个 web.xml 3) 编写一个控制类(Controller) 4)需要一个部署 web 应用的服务器 如 tomcat 2、Spring Boot 特点: 1).Spring Boot 设计目的是用来简化新 Spring 应用的初始搭建以及开发过

m0_38075227的博客 251

手把手教你学基带SOC芯片(4.4.9)--基带芯片的电源管理实例:高通 Snapdragon 系列实例(十)

Snapdragon 888 通过支持多种深度睡眠模式,如 AOAC 模式、低功耗模式和深度睡眠模式,以及智能电源管理技术,实现了对功耗的精细管理。这些模式不仅延长了设备的电池寿命,还确保了用户在各种使用场景下的良好体验。无论是保持网络连接、限制后台活动,还是完全关闭不必要的功能,Snapdragon 888 都能够灵活应对,提供高效的功耗管理方案。

MHD0815的博客 741

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Spring Boot - 精简版 - 一、 Spring Boot 入门

一、 Spring Boot 入门 1、 Spring Boot 简介 简化Spring应用开发的一个框架; 优点 快熟创建独立运行的Spring项目以及与主流框架及集成 使用嵌入式框架Servlet容器,应用无需打包成war包 starters自动依赖于版本控制 大量的自动配置,简化开发,也可修改默认值 无需配置 xml , 无代码生成,开箱即用 准生产环境的运行时应用监控 与云计算的天然集...

LawssssCat的博客 869

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Spring Boot 入门学习

Spring Cloud 是一系列框架的集合,它构建在 Spring Boot 之上,用于快速构建分布式系统中的各种组件和微服务架构,为开发者提供了一套一站式的解决方案,涵盖了服务治理、配置管理、消息总线、负载均衡、断路器等多个领域Nacos 是一个易于使用的动态服务发现、配置管理和服务管理平台。背景与发展:Nacos 是由阿里巴巴开源的项目,旨在为微服务架构提供服务发现、配置管理和服务治理等功能,帮助开发人员更轻松地构建、管理和扩展微服务应用程序。核心功能服务发现与注册。

2401_88165388的博客 1200

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

上一篇: 最新最全面Java复习路线(含P5-P8),已收录 GitHub
下一篇: Spring Boot 入门实战
普通网友
博客等级 码龄4年 3126粉丝 192原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值