Spring Boot 教程

目录

  • 1.什么是Spring boot starter template
  • 2.Spring boot 自动配置
  • 3.嵌入式Web Server
  • 4.启动应用程序

Spring boot是一个Spring框架模块,它为Spring框架提供RAD(快速应用程序开发)功能。它高度依赖于启动器模板功能,该功能非常强大且完美无缺。

1.什么是Spring boot starter template

Spring Boot Starter包含启动特定功能所需的所有相关依赖关系的集合的模板。比如,我们自己创建一个Spring Web MVC应用程序,则必须自己包含所有的依赖项,这样会导致一些版本的冲突,最终运行异常。

使用Spring boot 创建MVC应用程序,需要导入 spring-boot-starter-web依赖

<!-- Parent pom is mandatory to control versions of child dependencies -->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.6.RELEASE</version>
    <relativePath />
</parent>

<!-- Spring web brings all required dependencies to build web application. -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

上面 spring-boot-starter-web依赖,导入所有的依赖到你的项目中,将会下载所有的依赖项。

另外注意,不需要向子依赖项指定版本信息,所有版本都根据父级的版本进行解析(我们的示例用的是2.1.6.RELEASE

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-json</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
    </dependency>
    <dependency>
        <groupId>org.hibernate.validator</groupId>
        <artifactId>hibernate-validator</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
    </dependency>
</dependencies>

2.Spring boot 自动配置

自动配置启用@EnableAutoConfiguration注解,Spring boot 自动配置扫描classpath,在classpath中找到库,并配置所有的bean。

Spring boot 自动配置的逻辑实施是在spring-boot-autoconfigure.jar中,Spring boot autoconfiguration packages:https://docs.spring.io/spring-boot/docs/2.0.4.RELEASE/api/

Spring AOP的自动配置:
1.扫描classpath,存在EnableAspectJAutoProxy, Aspect, AdviceAnnotatedElement 类。
2.如果没有类,则不会为Spring AOP进行自动配置。
3.如果找到类,则使用Java配置注释配置AOP@EnableAspectJAutoProxy
4.检查属性的spring.aop值是true或false
5.基于property,设置了proxyTargetClass

AopAutoConfiguration.java

@Configuration
@ConditionalOnClass({ EnableAspectJAutoProxy.class, Aspect.class, Advice.class,
        AnnotatedElement.class })
@ConditionalOnProperty(prefix = "spring.aop", name = "auto", havingValue = "true", matchIfMissing = true)
public class AopAutoConfiguration
{

    @Configuration
    @EnableAspectJAutoProxy(proxyTargetClass = false)
    @ConditionalOnProperty(prefix = "spring.aop", name = "proxy-target-class", havingValue = "false", matchIfMissing = false)
    public static class JdkDynamicAutoProxyConfiguration {

    }

    @Configuration
    @EnableAspectJAutoProxy(proxyTargetClass = true)
    @ConditionalOnProperty(prefix = "spring.aop", name = "proxy-target-class", havingValue = "true", matchIfMissing = true)
    public static class CglibAutoProxyConfiguration {

    }

}

3.嵌入式Web Server

Spring boot 应用包含tomcat 作为web server,可以用命令直接去运行Spring boot应用程序。

如果不想用tomcat,也可以排除它,用其它的web server,都是基于可配置的。

例如:下面的配置是排除tomcat,用jetty

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>

org.springframework.boot
spring-boot-starter-jetty

4.启动应用程序

要运行应用程序,我们需要使用@SpringBootApplication注解,这相当于@Configuration@EnableAutoConfiguration@ComponentScan在一起使用

这样可以扫描配置类,文件并将它们加载到spring上下文中。在下面的示例中,执行以main()方法启动。加载所有配置文件,配置它们并根据application.properties文件夹中的应用程序属性来启动应用程序/resources

MyApplication.java

@SpringBootApplication
public class MyApplication
{
   public static void main(String[] args)
   {
       SpringApplication.run(Application.class, args);
   }
}
### Server port #########
server.port=8080

### Context root ########
server.contextPath=/home

可以直接用IDE运行main()方法,或者可以构建成jar文件然后运行以下命令:

java -jar spring-boot-demo.jar
关注公众号githubcn,免费获取更多学习视频教程

原文地址:https://www.cnblogs.com/bqh10086/p/spring-boot-tutorial.html

时间: 2024-11-09 05:34:05

Spring Boot 教程的相关文章

【视频分享】Spring Boot 教程全集

# [视频分享]Spring Boot 教程全集 ## 获取方式 **方式一:****链接:**[百度网盘](https://pan.baidu.com/s/137KFcoCE-i75vA8FE_OYFQ)==关注公众号极客萧(xiaoyxyj),并且回复关键字:springboot 即可获取下载链接和提取码(注意大小写别错)====如果链接失效,请及时联系我== 原文地址:https://www.cnblogs.com/icefirebug/p/11784818.html

Spring Boot 教程系列学习

Spring Boot基础教程1-Spring Tool Suite工具的安装 Spring Boot基础教程2-RESTfull API简单项目的快速搭建 Spring Boot基础教程3-配置文件详解:Properties和YAML Spring Boot基础教程4-配置文件-多环境配置 Spring Boot基础教程5-日志配置-logback和log4j2 源码地址:https://github.com/roncoo/spring-boot-demo 1.工具下载地址: Eclipse:

spring boot教程 网盘下载

教程下载地址:https://u18103887.ctfile.com/fs/18103887-309551343 I. Spring Boot文档1. 关于本文档2. 获取帮助3. 第一步4. 使用Spring Boot5. 了解Spring Boot特性6. 迁移到生产环境7. 高级主题II. 开始8. Spring Boot介绍9. 系统要求9.1. Servlet容器10. Spring Boot安装10.1. 为Java开发者准备的安装指南10.1.1. Maven安装10.1.2.

Spring Boot教程35——Spring Data JPA

Hibernate是数据访问解决技术的绝对霸主.JPA是由Hibernate主导的一个基于O/R映射的标准规范.O/R映射即将领域模型类和数据库的表进行映射,通过程序操作对象而实现表数据操作的能力,让数据访问操作无须关注数据库相关的技术. Spring Data JPA介绍 1.定义数据访问层 使用Spring Data JPA建立数据访问层十分简单,只需定义一个继承JpaRepository的接口即可: public interface PersonRepository extends Jpa

Spring Boot教程32——WebSocket

WebSocket为浏览器和服务端提供了双工异步通信功能,即浏览器可以向服务端发送消息,服务端也可以向浏览器发送消息.WebSocket需要IE10+.Chrome13+.Firefox6+. WebSocket是通过一个socket来实现双工异步通信能力的.但直接使用WebSocket协议开发程序比较繁琐,我们会使用它的子协议STOMP,它是一个更高级别的协议,使用一个基于帧(frame)的格式来定义消息,与Http的request和response类似(具有类似于@RequestMappin

Spring Boot教程1——Spring概述

1.Spring发展的过程 1>.第一阶段:Xml配置(需要将xml配置文件分放到不同的配置文件里): 2>.第二阶段:注解配置(提供了声明Bean的注解,如@Component.@Service,此阶段基本配置如数据库配置用xml,业务配置用注解): 3>.第三阶段:Java配置(Spring4.x和Spring Boot都推荐使用Java配置). 2.Spring框架是一个轻量级的企业级开发的一站式解决方案. 所谓解决方案就是可以基于Spring解决Java EE开发的所有问题(Io

Spring Boot教程30——Tomcat配置

本节的配置方法对Tomcat.Jetty和Undertow等内嵌servlet容器都是通用的. 1.Properties配置Tomcat 关于Tomcat的所有属性都在org.springframework.boot.autoconfigure.web.ServerProperties配置类中做了定义,我们只需在application.properties配置属性做配置即可.通用的Servlet容器配置都以“server”作为前缀,而Tomcat特有配置都以“server.tomcat”作为前缀

Spring Boot教程31——Favicon配置

1.默认的Favicon Spring Boot提供了一个默认的favicon,每次访问应用的时候都能看到. ? 2.关闭Favicon 可在application.properties中设置关闭Favicon spring.mvc.favicon.enabled=false ? 3.设置自己的Favicon 只需将自己的favicon.ico文件放置在类路径根目录.类路径META-INF/resources/下.类路径resources/下.类路径static/下或类路径public/下即可.

Spring Boot教程 - 1. 简介

一.导览 本文主要介绍以下几部分: 1. 什么是Spring Boot? 2. 为什么使用Spring Boot? 3. Spring Boot提供哪些功能? 4. 如何使用Spring Boot? 5. Spring Boot有哪些不足? 二.什么是Spring Boot? Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程. 该框架使用了特定的方式(继承starter,约定优先于配置)来进行配置,从而使开发人员不再需要定义