前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringBoot学习大纲

SpringBoot学习大纲

原创
作者头像
用户7411014
修改2020-06-05 10:01:17
1.2K0
修改2020-06-05 10:01:17
举报
文章被收录于专栏:Spring BootSpring Boot

SpringBoot的简介

  1. Spring boot是Spring家族中的一个全新的框架,它用来简化Spring应用程序的创建和开发过程,也可以说Spring boot能简化我们之前采用Spring mvc + Spring + MyBatis 框架进行开发的过程;
  2. 在以往我们采用Spring mvc + Spring + MyBatis框架进行开发的时候,搭建和整合三大框架,我们需要做很多工作,比如配置web.xml ,配置Spring ,配置MyBatis,并将它们整合在一起等,而Spring boot框架对此开发过程进行了革命性的颠覆,抛弃了繁琐的xml配置过程,采用大量的默认配置简化我们的开发过程;
  3. 所以采用Spring boot可以非常容易和快速地创建基于Spring框架的应用程序,它让编码变简单了,配置变简单了,部署变简单了,监控变简单了;
  4. 正因为Spring boot它化繁为简,让开发变得极其简单和快速,所以在业界备受关注;
  5. Spring boot在国内的关注趋势图: http://t.cn/ROQLquP

SpringBoot的简介

  1. 能够快速创建基于Spring的应用程序; .
  2. 能够直接使用java main方法启动内嵌的Tomcat, Jetty服务器运行Spring boot程序,不需要部署war包文件;
  3. 提供约定的starter POM来简化Maven配置,让Maven的配置变得简单;
  4. 根据项目的Maven依赖配置,Spring boot自动配置Spring、Spring mvc等;
  5. 提供了程序的健康检查等功能;
  6. 基本可以完全不使用XML配置文件,采用注解配置;

SpringBoot的四大核心

  1. 自动配置:针对很多Spring应用程序和常见的应用功能,Spring Boot能自动提供相关配置;
  2. 起步依赖:告诉Spring Boot需要什么功能,它就能引入需要的依赖库;
  3. Actuator:让你能够深入运行中的Spring Boot应用程序,探Spring boot程序的内部信息;
  4. 命令行界面:这是Spring Boot的可选特性,主要针对Groovy语言使用;

Groovy是一种基于JVM(Java虚拟机)的敏捷开发语言; 它结合了Python、Ruby和Smalltalk的许多强大的特性, Groovy代码能够与Java代码很好地结合,也能用于扩展现有代码; 由于其运行在JVM上的特性,Groovy可以使用其他Java语言编写的库;

SpringBoot开发环境

  1. 推荐使用Spring boot最新版本,目前Spring Boot最新正式版为1.5.9.RELEASE ;
  2. 如果是使用eclipse,推荐安装Spring Tool Suite (STS)插件;
  3. 如果使用IDEA旗舰版,自带了Springboot插件;
  4. 推荐使用Maven 3.0+,Maven目前最新版本为3.5.2 ;
  5. 推荐使用Java 8,虽然Spring boot也兼容Java 6 ;

SpringBoot程序

快速开发-个Spring boot程序步骤如下:

  • 创建个Spring boot项目;
  • 加入Spring boot的父级和起步依赖;
代码语言:javascript
复制
1.父级依赖:
< parent>
 <groupld> org.springframeworkboot </groupld>
 < artifac tld> spring- boot-starter-parent </artifactld>
 <version> 1.5.9.RELEASE</version>
 <relativePath/>
</parent>
加入Spring boot父级依赖可以简化我们项目的Maven配置;
2.起步依赖:
<dependency>
 <groupld>org springframeworkboot</groupid>
 <artifac tld>spring-boot-starter-web</artifactld>
</dependency>
加入Spring boot的起步依赖也可以简化我们项目的Maven配置;
@SpringBootApplication
public class SpringbootAppic ation {
public static void mainString0 args) {
SprinApplicationrun(SpringbootApplicationcass, args);
}
  • 创建Spring boot的入口main方法
代码语言:javascript
复制
@Controller
public class HelloController {
 @RequestMapping("/sayHi)
 public @ResponseBody String sayHi () {
  return "Hi,Spring boot":
 }
}
  • 创建一个Spring mvc的Controlle
  • 运行Spring boot的入口main方法

至此,第一个Spring boot程序开发完成;

第一个SpringBoot程序解析

  • Spring Boot的父级依赖spring-boot-starter-parent配置之后,当前的项目就是Spring Boot项目:
  • spring-boot-starter-parent是一个特殊的starter依赖 ,它用来提供相关的Maven默认依赖,使用它之后,常用的jar包依赖可以省去version配置;
  • Spring Boot提供了哪些默认jar包的依赖,可查看该父级依赖的pom文件;
  • 如果不想使用某个默认的依赖版本,可以通过pom.xm文件的属性配置覆盖各个依赖项,比如覆盖Spring版本:
代码语言:javascript
复制
<properties>
    <spring.version> 5.0.0.RELEASE </spring.version>
</properties>
  • @SpringBooApplic ation注解是Spring Boot项目的核心注解,主要作用是开启Spring自动配置;
  • main方法是一一个标准的Java程序的main方法,主要作用是作为项目启动运行的入口;
  • @Contoller 及@ResponseBody依然是我们之前的Spring mvc , 因为Spring boot的里面依然是使用我们的Spring mvc +Spring + MyBatis等框架;

SpringBoot核心配置文件

Spring boot的核心配置文件用于配置Spring boot程序,有两种格式的配置文件:

  • properties文件

键值对的properties属性文件配置方式

  • yml文件

yml是一种yaml格式的配置文件,主要采用一定的空格、 换行等格式排版进行配置;

yaml是种直观的能够被计算机识别的的数据序列化格式,容易被人类阅读,yaml类似于xml ,但是语法比xml简洁很多;

值与前面的冒号配置项必须要有一个空格;

yml后缀也可以使用yaml后缀;

配置示例

#配置服务器端口

server,port= 9800

#配置应用访问路径

server.context-path=/13-springboot-we

server:

port: 9091

context-path: /13-springboot-web

多环境配置文件

#比如配置测试环境

spring.profiles.active=dev

application-dev.properties

#比如配置生产环境

spring.profiles.ac tive= product

application-product.properties

SpringBoot自定义配置

我们可以在Spring boot的核心配置文件中自定义配置,然后采用如下注解去读取配置的属性值;

  • @Value注解
代码语言:javascript
复制
用于逐个读取自定义的配置,比如:
@Value("$ {bjpowernode.name}")
private String name;

Spring Boot项目配置字符编码

第一种方式是使用传统的S pring提供给的字符编码过滤器:

代码语言:javascript
复制
@Bean
public FilterRegistrationBean filterRegistrationBean() {
 FilterRegistrationBean registrationBean = new FilterRegistrationBean();
 CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
 characterEncodingFilter.setForceEncoding(true);
 characterEncodingFilter.setEncoding(*UTF-8");
 registrationBean.setFilter(characterEncodingFilter);
 registrationBean.adUrlPatterns("/*");
 return registrationBean;
}

在主类上需要扫描此过滤器,扫描包或者class : basePackageClasses= org.springframework.web.filter.Character

★注意:只有当spring.http.encoding.enabled=false配置成false后,过滤器才会起作用;

第二种方式是在applic ation.properties中配置字符编码:

从springboot1.4.2之后开始新增的一种字符编码设置;

代码语言:javascript
复制
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled= true
spring.http.encoding.force= true
  • @ConfigurationProperties

用于将整个文件映射成-一个对象,比如:

代码语言:javascript
复制
@Component
@ConfigurationProperties(prefix="bipowernode")
public class MyConfig {
 private String name;
 public tring getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
}

Spring Boot下的Spring mvc

Spring boot下的Spring mvc和之前的Spring mvc使用是完全一样的 :

  • @Controller
  • @RestController
  • @GetMapping
  • @PostMapping
  • @PutMapping
  • @DeleteMapping

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SpringBoot的简介
  • SpringBoot的简介
  • SpringBoot的四大核心
  • SpringBoot开发环境
  • SpringBoot程序
    • 快速开发-个Spring boot程序步骤如下:
    • 第一个SpringBoot程序解析
    • SpringBoot核心配置文件
    • SpringBoot自定义配置
    • Spring Boot项目配置字符编码
      • 第一种方式是使用传统的S pring提供给的字符编码过滤器:
        • 第二种方式是在applic ation.properties中配置字符编码:
        • Spring Boot下的Spring mvc
          • Spring boot下的Spring mvc和之前的Spring mvc使用是完全一样的 :
          相关产品与服务
          项目管理
          CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档