Spring Boot官方文档学习——使用Spring Boot

1. 简述

    本文将详细介绍如何使用Spring Boot。本文将覆盖系统构建、自动配置、如何运行应用。还会包含一些Spring Boot最佳实践。尽管Spring Boot没有什么特殊的地方(它仅仅是你可以使用的一个类库而已)但是仍然有一些意见你可以采纳。这些意见将会使得你的开发更加容易一些。

2. 构建系统

    强烈建议您选择支持依赖管理的构建系统,并且可以使用发布到“Maven Central”存储库的工件。 官方建议您选择MavenGradle虽然 Spring Boot可以与其他构建系统(例如Ant)一起工作,但是它们不会得到特别好的支持。

2.1 依赖管理    

Spring Boot的每个发行版都提供了一个支持的依赖列表。 在实践中,您不需要为构建配置中的任何这些依赖项提供一个版本,因为Spring Boot正在为您进行管理。 当您升级Spring Boot本身时,这些依赖关系也将以一致的方式升级。

    如果您觉得有必要,您仍然可以指定一个版本并覆盖Spring Boot的建议版本

    支持的依赖列表包含您可以使用Spring Boot的所有模块以及第三方库的精炼列表。 该列表可作为标准的spring-boot-dependencies清单提供,并且还提供MavenGradle的其他专用支持。

    Spring Boot的每个版本都与Spring Framework的基础版本相关联,因此官方强烈建议您不要自行指定其版本。

2.2 Maven    

    Maven用户可以从spring-boot-starter-parent项目继承,以获得合理的默认值。 父项目提供以下功能:

  • Java 1.6作为默认的编译器级别。
  • UTF-8源码编码。
  • 依赖管理部分,继承自Spring-Boot-dependencies POM的通用依赖项允许您省略的<version>标记。
  • 合理的的资源过滤。
  • 合理的插件配置(exec plugin, surefire, Git commit ID, shad)。
  • application.propertiesapplication.yml进行合理的资源过滤,包括特定于配置文件的文件(例如application-foo.propertiesapplication-foo.yml  

2.2.1 继承父Starter

要将项目配置为从spring-boot-starter-parent继承,只需设置父项:

<!-- Inherit defaults from Spring Boot -->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.10.RELEASE</version>
</parent>

通过该设置,您还可以通过在自己的项目中重写属性来覆盖各个依赖项。 例如,要升级到另一个Spring Data发行版,您需要将以下内容添加到您的pom.xml中。

<properties>
    <spring-data-releasetrain.version>Fowler-SR2</spring-data-releasetrain.version>
</properties>

检查spring-boot-dependencies pom以获取支持的属性列表。

https://github.com/spring-projects/spring-boot/blob/v1.5.10.RELEASE/spring-boot-dependencies/pom.xml

2.2.2 不使用父Starter来创建Spring Boot应用

        不是每个人都喜欢从spring-boot-starter-parent POM继承。 你可能有你自己的企业标准的parent可以使用,或者你可能只是喜欢显式声明所有的Maven配置。

        如果你不想使用spring-boot-starter-parent,你仍然可以通过使用scope = import dependency来保持依赖管理的好处(但不是插件管理):

<dependencyManagement>
     <dependencies>
        <dependency>
            <!-- Import dependency management from Spring Boot -->
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>1.5.10.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

        如上所述,该设置不允许您使用属性覆盖单个依赖项。 为了达到同样的结果,你需要在spring-boot-dependencies条目之前在项目的dependencyManagement中添加一个条目。 例如,要升级到另一个Spring Data发行版,您需要将以下内容添加到您的pom.xml中。

<dependencyManagement>
    <dependencies>
        <!-- Override Spring Data release train provided by Spring Boot -->
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-releasetrain</artifactId>
            <version>Fowler-SR2</version>
            <scope>import</scope>
            <type>pom</type>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>1.5.10.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

2.2.3 修改Java版本

        spring-boot-starter-parent选择相当保守的Java兼容性。 如果您想遵循官方的建议并使用较新的Java版本,则可以添加一个java.version属性:

<properties>
    <java.version>1.8</java.version>
</properties>

2.2.4 使用Spring Boot Maven插件

        Spring Boot包含一个Maven插件,可以将项目打包为可执行的jar文件。 如果你想使用它,请将插件添加到<plugins>部分:


                
文档内容 一、 Spring介绍 1 1.1、SpringBoot简介 1 1.2、系统要求: 1 1.3、SpringBootSpringMVC区别 1 1.4、SpringBootSpringCloud区别 2 1.5常见错误 2 二、快速入门 2 2.1、创建一个Maven工程 2 2.2、pom文件引入依赖 3 2.3、编写HelloWorld服务 3 2.4、@RestController 4 2.5、@EnableAutoConfiguration 4 2.6 SpringApplication.run(HelloController.class, args); 4 2.7、SpringBoot启动方式1 4 2.8、SpringBoot启动方式2 4 2.9、SpringBoot启动方式3 5 三、 Web开发 5 3.1、静态资源访问 5 3.2、渲染Web页面 5 3.3、使用Freemarker模板引擎渲染web视图 6 3.3.1、pom文件引入: 6 3.3.2、后台代码 6 3.3.3、前台代码 6 3.3.4、Freemarker其他用法 7 3.3.5、Freemarker配置 8 3.4、使用JSP渲染Web视图 8 3.4.1、pom文件引入以下依赖 8 3.4.2、在application.properties创建以下配置 9 3.4.3、后台代码 9 3.5、全局捕获异常 10 四、 数据访问 10 4.1、springboot整合使用JdbcTemplate 10 4.2、springboot整合使用mybatis 12 4.3、springboot整合使用springjpa 18 4.4、springboot整合多数据源 19 五、 事物管理 25 5.1.1SpringBoot整合事物管理 25 5.1.2SpringBoot分布式事物管理 25 六、 日志管理 30 6.1使用log4j记录日志 30 6.2使用AOP统一处理Web请求日志 32 6.3Spring Boot集成lombok让代码更简洁 33 七、 缓存支持 35 7.1注解配置与EhCache使用 35 7.2使用Redis集成缓存 37 八、 热部署 37 8.1 什么是热部署 37 8.2 项目演示案例 37 8.3 热部署原理 37 8.4 Devtools依赖 38 8.5 Devtools原理 38 九、 监控管理 38 Actuator监控应用 38 Maven依赖 38 YML配置 39 Actuator访问路径 40 Admin-UI分布式微服务监控中心 40 Admin-UI-Server 40 Admin-UI-Client 41 十、 性能优化 43 组件自动扫描带来的问题 43 将Servlet容器变成Undertow 44 SpringBoot JVM参数调优 44 十一、 2.0版本新特性 45 以Java 8 为基准 45 内嵌容器包结构调整 45 Servlet-specific 的server properties调整 45 Actuator 默认映射 46 Spring Loaded不再支持 46 支持Quartz Scheduler 46 OAuth 2.0 支持 46 支持Spring WebFlux 46 版本要求 46 十二、 其他内容 47 12.1、使用@Scheduled创建定时任务 47 12.2、使用@Async实现异步调用 47 12.3、自定义参数 49 12.4、多环境配置 50 12.5、修改端口号 50 12.6、SpringBoot yml 使用 50 12.7、SpringBoot整合拦截器 51 12.8、发布打包 52
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值