zoukankan      html  css  js  c++  java
  • 后端——框架——容器框架——spring_boot——《官网》阅读笔记——第三章节1(使用SpringBoot)——基础

      第三章节介绍如何使用spring boot,它总共包含10个小节,分别是

    1. 构建工具:我使用的是maven,其他构建工具省略
    2. 项目代码的目录结构
    3. 配置信息,单个或多个配置类,配置类与XML的混合方式。
    4. 自动注入
    5. 获取自动注入的类。
    6. @SpringBootApplication注解
    7. 运行spring boot项目
    8. 开发工具
    9. 打包项目。
    10. 下个章节的引言。

      第四章节的前三小节也是SpringBoot的功能,所以我将其归并到第三章节的阅读笔记中。

    1、maven

      使用maven构建spring boot项目时,maven工具发挥的功能没有任何变化,变化的是以前单独引入依赖,现在是引入spring Boot整合的依赖。例如开发Web项目,以前需要单独引入Spring MVC,Servlet-api等等。现在只需要引入spring-boot-starter-web,它整合了Web开发需要的依赖。

      spring boot整合了许多相关的依赖,并构建为单独的模块。优点是很方便,缺点是不了解模块的情况下,添加了很多不必要的依赖,无法指定所依赖的版本号。若想自己选择版本号,可以在添加spring-boot依赖之前单独引入依赖。例如想选择logback的版本号,可以在actuator之前引入logback, 代码如下

    <!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic -->
    <dependency>
    	<groupId>ch.qos.logback</groupId>
    	<artifactId>logback-classic</artifactId>
    	<version>${logback.version}</version>
    </dependency>
    <!-- actuator整合了logback-classic -->
    <dependency>
    	<groupId>org.springframework.boot</groupId>
    	<artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    

      Spring boot依赖的名称格式为spring-boot-starter-*,其中*号代表具体依赖的模块。

      构建stand-alone项目需要引入spring-boot-starter-parent,构建web项目需要引入spring-boot-starter-web。

      Spring-boot-starter-parent有很多默认值

    1. 默认的JDK版本为1.8
    2. 默认的字符集为UTF-8
    3. 添加其他spring-boot-start-*时,不在需要指定版本号,指定parent版本号即可。
    4. 添加了repackage的goal。Goal是项目生命周期中的一个阶段
    5. 默认的resource filtering,运行resources:resource即会将资源文件中的变量替换为具体值。
    6. 添加了默认的一些插件,例如exec,shade
    7. 配置文件有默认的resource filtering。

    2、代码结构

      Spring-boot还是沿用maven的代码目录结构,这里的代码结构是指启动类约定俗成的规则。

      启动类通常直接放在root package下。

      启动类通常有main方法

      启动类通常有@SpringBootApplication注解

    3、配置信息

      单个启动类,类上添加@SpringBootApplication注解

      多个配置类时,其他配置类上有@Configuration注解。启动类通过@Import注解引入配置类,或者是将配置类存放在扫描路径下。

      当为混合模式时,使用@ImportResource引入XML格式的配置文件。

    4、自动注入依赖(Auto-DI)

      如果遵循启动类的代码结构,无需在启动类上添加@ComponentScan注解,它会默认将root package下所有子包的@Service,@Component,@Controller等注入到IOC容器中。

      获取方式和spring一样,使用@Autowired,@Resource注解,当依赖为构造器依赖时,@Autowired或@Resource注解可以省略。

    5、项目运行方式

      有三种方式

    1. IDE方式下,直接运行main方法即可。
    2. 当为jar包时,通过java -jar app.jar运行项目。
    3. 使用maven插件,运行mvn spring-boot:run
  • 相关阅读:
    列"xx"不在表Table中
    asp.net中自定义验证控件
    ASP.NET母版与内容页相对路径的问题
    html点小图看大图最快捷的方法
    ThinkCMF的跳转303 404等页面的方法
    关于ThinkCMF自带插件上传不了图片的解决方法
    js中百分比运算,大型数据会算错
    数据库价格汇总查询的方法
    信息资源5
    操作系统概论
  • 原文地址:https://www.cnblogs.com/rain144576/p/12498504.html
Copyright © 2011-2022 走看看