spring boot入门实例

什么是spring boot

SpringBoot是一个框架,一种全新的编程规范,他的产生简化了框架的使用,所谓简化是指简化了Spring众多框架中所需的大量且繁琐的配置文件,所以 SpringBoot是一个服务于框架的框架,服务范围是简化配置文件。
SpringBoot最明显的特点是,让文件配置变的相当简单、让应用部署变的简单(SpringBoot内置服务器,并装备启动类代码),可以快速开启一个Web容器进行开发。

Spring Boot的核心功能

  1. 可独立运行的Spring项目:Spring Boot可以以jar包的形式独立运行。
  2. 内嵌的Servlet容器:Spring Boot可以选择内嵌Tomcat、Jetty或者Undertow,无须以war包形式部署项目。
  3. 简化的Maven配置:Spring提供推荐的基础 POM 文件来简化Maven 配置。
  4. 自动配置Spring:Spring Boot会根据项目依赖来自动配置Spring 框架,极大地减少项目要使用的配置。
  5. 提供生产就绪型功能:提供可以直接在生产环境中使用的功能,如性能指标、应用信息和应用健康检查。
  6. 无代码生成和xml配置:Spring Boot不生成代码。完全不需要任何xml配置即可实现Spring的所有配置。

spring boot入门实例

创建一个 Spring Boot 项目

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
创建完成后可以看到,pom.xml自动导入了一些东西,并自动创建了一个启动类,
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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <!--父工程,父工程继承自 spring-boot-dependencies,
    这个里边定义了依赖的版本,也正是因为继承了这个依赖,所以我们在写依赖时才不需要写版本号。-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.3</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
   <!--项目的基本信息-->
    <groupId>com.jie</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demo</name>
    <description>Demo project for Spring Boot</description>
    <!--当前使用的jdk-->
    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <!-- web启动器-->
        <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>

    <!--SpringBoot的打包插件:jar包-->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

父工程:父工程继承自 spring-boot-dependencies,这个里边定义了依赖的版本,也正是因为继承了这个依赖,所以我们在写依赖时才不需要写版本号

启动器:只需要在项目里面引入启动器,相关场景的所有依赖都会导入进来。

启动类

@SpringBootApplication
public class DemoApplication {

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

}

@SpringBootApplication

@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
		@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })

@ComponentScan告诉Spring 哪个packages同包或者子包下 的用注解标识的类 会被spring自动扫描并且装入bean容器。如果不指定,则默认从声明@ComponentScan所在类的package进行扫描。所以SpringBoot的启动类最好是放在root package下,因为默认不指定basePackages。

1.@EnableAutoConfiguration注解时则会将spring-boot-autoconfigure.jar/META-INF/spring.factories文件中org.springframework.boot.autoconfigure.EnableAutoConfiguration对应的value里的所有xxxConfiguration类加载到IOC容器中。而xxxAutoConfiguration类一般都会有@ConditionalOnxxx注解,通过这些条件注解来判断是否真正的创建xxxConfiguration对象。spring boot的各种spring-boot-starter-xxx.jar也正是居于此注解来达到自动装配的目的。
2.所有xxxConfiguration类一般都会有@EnableConfigurationProperties注解,将配置文件中的属性注入到配置类中。
推荐博客:SpringBoot自动装配原理

@SpringBootConfiguration注解内部有一个核心注解@Configuration,表示当前类为一个配置类(XML配置文件的注解表现形式),由此可见,@SpringBootConfiguration注解的作用与@Configuration注解相同,都是标识一个可以被组件扫描器扫描的配置类,只不过@SpringBootConfiguration是被Spring Boot进行了重新封装命名而已

SpringApplication.run(DemoApplication.class, args);
springboot启动类–SpringApplication.run()详解

配置文件
SpringBoot中提供一个名为application的全局配置文件,支持properteis格式和yaml( yml)格式。一般这些配置文件放在resources目录下面,在SpringBoot启动后就解析该配置文件。
推荐博客:Spring Boot 配置文件 yml与properties (二)

模板引擎
1、以前开发 web 项目时,只需将静态的 ".html” 页面后缀名修改为“.jsp”,然后在文件中加入 jsp 页面标识即可做 jsp 开发,然而 Spring Boot 项目采用打 jar 包的方式,默认使用的是内置的 Tomcat 服务器,所以默认是不支持 jsp 的,但可以使用其它的模板引擎。
2.Spring Boot 官方支持的模板引擎:Thymeleaf Templates、FreeMarker Templates、Groovy Templates 等模板引擎。
3.模板引擎的作用都是将模板(页面)和数据进行整合然后输出显示,区别在于不同的模板使用不同的语法,如 JSP 的 JSTL 表达式,以及 JSP 自己的表达式和语法,同理 Thymeleaf 也有自己的语法。

推荐博客:Spring Boot 2.x 集成 Thymeleaf 快速入门、静态资源映射规则

SpringBoot整合web开发
json
Spring Boot 返回 JSON 数据及数据封装
静态资源
Spring Boot 静态资源处理
Spring Boot无法访问css,js等静态资源的问题
文件下载
Spring Boot教程(十三):Spring Boot文件上传
全局异常统一处理
Springboot项目全局异常统一处理
自定义错误页面
SpringBoot多种自定义错误页面方式
Springboot错误页面和错误信息定制
spring boot 实现跨域
Spring Boot 系列:处理跨域请求
注册拦截器
Springboot中注册拦截器
SpringBoot——实现系统启动任务

SpringBoot中使用类型转换器
整合持久层
Spring Boot数据持久化之JdbcTemplate
Spring Boot多数据源配置之JdbcTemplate
最简单的SpringBoot整合MyBatis教程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值