首页 > 其他分享 >SpringBoot快速入门

SpringBoot快速入门

时间:2024-11-14 19:50:14浏览次数:3  
标签:java SpringBoot 项目 创建 Initializr Spring 快速 入门

一、SpringBoot简介

SpringBoot是由Pivotal团队提供的全新框架,旨在简化Spring应用的初始搭建以及开发过程。它基于Spring Framework构建,但并不是Spring的替代者或精简版本,而是为了让程序员更好地使用Spring。SpringBoot通过提供默认配置和“习惯优于配置”的理念,使得开发者能够快速运行Spring应用程序,并减少繁琐的配置文件。

二、创建SpringBoot项目

创建SpringBoot项目通常有两种方式:通过Spring Initializr脚手架或Maven方式。

1. 通过Spring Initializr脚手架创建

Spring Initializr是一个在线服务功能,可以生成Spring Boot项目的骨架。以下是使用Spring Initializr创建项目的步骤:

  • 访问Spring Initializr官方网址阿里云Spring Initializr
  • 选择项目的基本信息,如Group、Artifact、Name、Description等。
  • 选择项目的依赖,例如Spring Web。
  • 点击“Generate”按钮生成项目,并下载到本地。
  • 使用IDE(如IntelliJ IDEA)打开项目,即可开始开发。

2. 通过Maven方式创建

在没有网络的情况下,可以通过手动配置Maven项目来创建SpringBoot项目。以下是步骤:

  • 在IDE中新建一个Maven项目。
  • 编辑pom.xml文件,添加SpringBoot相关依赖,如spring-boot-starter-web
  • 创建主应用类,并使用@SpringBootApplication注解。
  • 编写Controller层代码,并添加@RestController@GetMapping注解。
  • 运行主应用类,启动SpringBoot项目。
三、编写HelloWorld示例

以下是一个简单的HelloWorld示例,展示了如何创建并运行一个SpringBoot项目。

1. 创建项目结构

使用Spring Initializr创建项目后,项目结构通常如下:

src/main/java/com/example/demo
    ├── DemoApplication.java
    └── HelloController.java
src/main/resources
    └── application.properties
pom.xml

2. 编写主应用类

src/main/java/com/example/demo目录下创建DemoApplication.java文件,并添加以下代码:

package com.example.demo;

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

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

3. 编写Controller层代码

src/main/java/com/example/demo目录下创建HelloController.java文件,并添加以下代码:

package com.example.demo;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {
    @GetMapping("/hello")
    public String hello() {
        return "Hello, Spring Boot!";
    }
}

4. 运行项目

在IDE中运行DemoApplication类的main方法,启动SpringBoot项目。然后,在浏览器中访问http://localhost:8080/hello,即可看到返回的“Hello, Spring Boot!”字符串。

四、配置文件

SpringBoot支持两种配置文件格式:.properties.yml

1. .properties配置文件

.properties文件是以键值对的形式配置的,例如:

server.port=8080
spring.datasource.url=jdbc:mysql://localhost:3306/dbname
spring.datasource.username=root
spring.datasource.password=root

2. .yml配置文件

.yml文件是YAML格式的,具有更高的可读性和简洁性。例如:

server:
  port: 8080
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/dbname
    username: root
    password: root
五、日志框架

SpringBoot内置了日志框架,默认使用SLF4J和Logback。开发者可以在代码中获取日志对象,并打印日志信息。例如:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

@RestController
public class HelloController {
    private static final Logger logger = LoggerFactory.getLogger(HelloController.class);

    @GetMapping("/hello")
    public String hello() {
        logger.info("Hello, Spring Boot!");
        return "Hello, Spring Boot!";
    }
}

在运行时,SpringBoot会将日志信息输出到控制台或指定的日志文件中。

六、总结

SpringBoot是一个快速构建Spring应用的框架,通过提供默认配置和简化配置文件,使得开发者能够快速启动和运行Spring应用程序。本文介绍了SpringBoot的基本概念、项目创建、HelloWorld示例、配置文件以及日志框架等方面的内容,希望能为读者提供一个快速入门的指南。

标签:java,SpringBoot,项目,创建,Initializr,Spring,快速,入门
From: https://blog.csdn.net/2401_88991502/article/details/143779291

相关文章

  • 快速排序和归并排序的比较
    基本原理比较快速排序:基于分治策略。它选择一个基准元素(pivot),通过一趟排序将待排序序列分割成两部分,其中左边部分的元素都小于等于基准元素,右边部分的元素都大于等于基准元素。然后对这两部分分别进行快速排序,递归地重复这个过程,直到整个序列有序。例如,对于序列[4,7,......
  • 程序员如何入门?零基础入门到精通,收藏这一篇就够了
    以下内容仅供参考建议。做任何事情,最关键的是先入门,所谓的入门,是你进入一家公司,然后开始给人家干活,并且能够提供合格的交付件,这就算入门了。那么做编程到底到了哪个地步才算入门呢?我的目的就是在你一行代码还没写的时候,给一些建议。不管任何企业,厉害的人应该是主动的帮企业......
  • 用两行命令快速搭建深度学习环境(Docker/torch2.5.1+cu118/命令行美化+插件),包含完整的
    深度学习环境的配置过于繁琐,所以我制作了两个基础的镜像,希望可以帮助大家节省时间,你可以选择其中一种进行安装,版本说明:base版本基于pytorch/pytorch:2.5.1-cuda11.8-cudnn9-devel,默认python版本为3.11.10,可以通过condainstallpython==版本号直接修改版本。dl版......
  • FastHTML快速入门:服务器渲染超媒体应用的利器
    项目简介FastHTML是一个Python库,它将Starlette、Uvicorn、HTMX和fastcore的FT"FastTags"融合在一起,用于创建服务器渲染的超媒体应用程序。FastHTML类本身继承自Starlette,并增加了基于装饰器的路由、Beforeware、自动将FT渲染为HTML等功能。写作FastHTML应用时需记住的事......
  • 【MYSQL】锁详解(全局锁、表级锁、行级锁)【快速理解】
    目录一、全局锁二、表级锁    1.表锁    2.元数据锁    3.意向锁三、行级锁    1.行锁        2.间隙锁        3.临建锁锁是处理并发情况下,对数据的一致性的关键因素,也是并发情况下对效率影响非常大的。1、......
  • 基于SpringBoot的信息技术知识竞赛系统
    关注底部领取源码源码编号:S321源码名称:基于SpringBoot的信息技术知识竞赛系统用户类型:双角色,用户、管理员主要技术:Java、Vue、ElementUl、SpringBoot运行环境:Windows/Mac、JDK1.8及以上运行工具:IDEA/Eclipse数 据 库:MySQL5.7及以上版本数据库表数量:16张表是否有......
  • springboot配置文件(yml)
    server-port配置端口server-servlet-context-path默认路径示例:上面我修改端口号为9090,默认路径为/start现在在浏览器访问:可以看见端口号修改成了9090,默认路径前面增加了/startyml配置信息的书写和获取:书写:1>:值前面必须有空格,作为分隔符。示例:不加空格:加空格......
  • Springboot连接MySQL主从集群
    一、maven依赖com.alibabadruid-spring-boot-starter<!--Mysql驱动包--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency>二、nacos配置中心配置spr......
  • springboot导入EXCEL数据10+浏览器等待超时问题
    解决办法异步导入法:前台js解决思路:调用导入按钮后,把前台相应的操作按钮置为不可用,每个10秒查询一次导入结果返回值,直到查询到导入成功或失败的返回值后,将后续的操作按钮置为可用状态关键代码如下:com.langyashi.dialog.asyncImportExcel({ctx:"${ctx}",......
  • Springboot初始化连接redisson
    一、maven依赖<!--redisson--><dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId><version>3.19.3</version></dependency>二、ClusterRedisson......