【Java架构师入门到精通】Spring Boot 框架介绍和使用

本文详细介绍了Spring Boot的核心理念和使用方法,包括项目创建、配置、自动配置、Web MVC、数据库支持、系统监控等方面。Spring Boot简化了Spring的配置,提供自动配置和内嵌式Web服务器等功能,帮助开发者快速构建应用程序。文章还提到了如何自定义配置、使用YAML、处理静态资源和错误,以及JPA自动配置和系统监控(Actuator)等关键知识点。
摘要由CSDN通过智能技术生成

本文参考自[Spring Boot文档

Spring Boot 简介

Spring框架功能很强大,但是就算是一个很简单的项目,我们也要配置很多东西。因此就有了Spring Boot框架,它的作用很简单,就是帮我们自动配置。Spring Boot框架的核心就是自动配置,只要存在相应的jar包,Spring就帮我们自动配置。如果默认配置不能满足需求,我们还可以替换掉自动配置类,使用我们自己的配置。另外,Spring Boot还集成了嵌入式的Web服务器,系统监控等很多有用的功,让我们快速构建企业及应用程序。

创建项目

创建项目

创建项目很简单。如果使用STS的话,新建Spring Starter项目即可。如果使用IDEA的话,新建Spring Initializer项目。如果不想使用IDE的话,从[start.spring.io]创建项目也可以。例如下面就是一个Spring Boot项目的build.gradle文件,是我用IDEA创建的项目。由于我是用了最新的快照版本,因此这里的仓库还多了两个Spring的快找仓库,可以直接无视。(因为1.5的稳定版中Thymeleaf的支持才到2,为了使用最新Thymeleaf3,只能使用最新的快照版。)对于新手小白想更轻松的学好Java提升,Java架构,web开发、大数据,数据分析,人工智能等技术,这里给大家分享系统教学资源,扩列下我尉(同英):1253431195【教程/工具/方法/解疑】

我们可以看到Spring Boot和一般的项目差不多,只不过多应用了Spring Boot插件,它会让我们更方便的运行Spring。另外在项目中没有其他依赖的引用,只引用了Spring Boot Starter依赖,这些依赖会将可能会使用到的依赖帮我们引用。例如spring-boot-starter-test会引用JUnit、AssertJ等一些测试框架,我们不用再引用了。这极大地方便了我们的开发。而且这些依赖不需要指定具体版本,具体的版本由Spring帮我们决定。关于详细的Starter项目和具体jar包的版本号,参考[13.5. Starters]

buildscript {
    ext {
        springBootVersion = '2.0.0.BUILD-SNAPSHOT'
    }
    repositories {
        mavenCentral()
        maven { url "https://repo.spring.io/snapshot" }
        maven { url "https://repo.spring.io/milestone" }
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'

jar {
    baseName = 'spring-boot-sample'
    version = '0.0.1-SNAPSHOT'
}

sourceCompatibility = 1.8

repositories {
    mavenCentral()
    maven { url "https://repo.spring.io/snapshot" }
    maven { url "https://repo.spring.io/milestone" }
}

dependencies {
    compile('org.springframework.boot:spring-boot-starter-aop')
    compile('org.springframework.boot:spring-boot-starter-data-jpa')
    compile('org.springframework.boot:spring-boot-starter-thymeleaf')
    compile('org.springframework.boot:spring-boot-starter-web')
    runtime('org.springframework.boot:spring-boot-devtools')
    runtime('org.hsqldb:hsqldb')
    runtime('mysql:mysql-connector-java')
    compileOnly('org.projectlombok:lombok')
    testCompile('org.springframework.boot:spring-boot-starter-test')
}

项目格式

项目格式类似下图,和一般的Maven或者Gradle项目类似,只不过多了点东西。资源文件夹下static文件夹用来存放web程序的静态资源,例如图片、css、js等。template文件夹存放web程序的视图模板,html等需要渲染的模板文件就放在这里。application.properties文件很重要,它是Spring Boot项目的全局配置文件。以往我们需要编写层级XML配置文件,现在只需要在这里使用key=value方式即可指定这些属性。默认的模板还为我们添加了两个类。一个在main下,是Spring Boot项目的运行类,另一个在test下,是测试类。对于新手小白想更轻松的学好Java提升,Java架构,web开发、大数据,数据分析,人工智能等技术,这里给大家分享系统教学资源,扩列下我尉(同英):1253431195【教程/工具/方法/解疑】

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w0aA0gIo-1646990725232)(//upload-images.jianshu.io/upload_images/832668-298d29280ceb2424.png?imageMogr2/auto-orient/strip|imageView2/2/w/327/format/webp)]

运行类的代码如下。它是一个简单的类,包含了主方法,而且类上使用了@SpringBootApplication注解。这是一个惯用注解,它会帮我们启用自动配置等特性。

@SpringBootApplication
public class SpringBootSampleApplication {

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

如果看一下SpringBootApplication的源代码,类似下面这样。可以看到,SpringBootApplication的功能是通过几个注解实现的。EnableAutoConfiguration注解启用了自动配置功能。ComponentScan注解会扫描该类所在的包和子包。所以Spring推荐我们将这个运行类放到项目的根包下,以便我们不需要任何配置即可扫描到所有配置类。

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值