Springboot

Start

@SpringBootApplication
拆分
@Configuration
允许在上下文中注册额外的bean或导入其他配置类
@EnableAutoConfiguration
启用springboot自动配置机制
@ComponentScan
扫描被@Component(@Service,@Controller)注解的bean,默认扫描该类所在的包下所有的类

@PostMapping实际上就等价于 @RequestMapping(method = RequestMethod.POST),同样的 @DeleteMapping ,@GetMapping也都一样,常用的 HTTP Action 都有一个这种形式的注解所对应。
@PathVariable :取url地址中的参数。@RequestParam url的查询参数值。
@RequestBody:可以将 HttpRequest body 中的 JSON 类型数据反序列化为合适的 Java 类型。
ResponseEntity: 表示整个HTTP Response:状态码,标头和正文内容。我们可以使用它来自定义HTTP Response 的内容。

@EnableConfigurationProperties(prefix=”前缀”)
读取主配置文件前缀相关的配置

SpringBoot异常处理

@ControllerAdvice(assignableTypes = {IndexController.class})

@ExceptionHandler(value = Exception.class)

使用 @ControllerAdvice 和 @ExceptionHandler 处理全局异常
@ExceptionHandler 处理 Controller 级别的异常
ResponseStatusException

异常收集

Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986

SpringBoot 2.0.0 以上都采用内置tomcat8.0以上版本,而tomcat8.0以上版本遵从RFC规范添加了对Url的特殊字符的限制,url中只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~四个特殊字符以及保留字符( ! ’ ( ) ; : @ & = + $ , / ? # [ ] ) (262+10+4+18=84)这84个字符,请求中出现了{}大括号或者[]


本文链接: http://kiritor.github.io/2017/04/05/springboot/

-- EOF --

Spring Boot(三):配置详解

写在之前

在前面Spring Boot的入门篇中,可以很直观的感受到使用Spring Boot没有了原来整合Spring应用时繁琐的XML配置内容,替代它的是在pom.xml中引入模块化的Starter POMs,各个模块具有自己的默认配置.在application.properties文件中,只需要设置少量的应用即可开启应用.

在实际的项目中,配置是十分复杂的,存在多个配置环境,例如:

开发环境 -> 测试环境 -> 演示环境 ->生产环境

每个环境的配置项总是不同的,而且就算是在开发环境中,不同的开发人员也会有区别,配置文件的读取总是比较伤脑筋.Spring Boot提供了一种优先级配置读取机制很好的解决此问题.
在入门篇中,了解到Spring Boot的配置会从application.properties中读取,实际上这只是Spring Boot配置链中的一环而已.

Spring Boot(二):war包形式发布

在上一篇入门文章中,也提及了Spring Boot可以发布成war包运行在外包的tomcat中.具体做法如下.

  1. 在POM.XML文件中将jar改为war
  1. 添加依赖.
    1
    2
    3
    4
    5
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
    </dependency>

Spring Boot(一):快速入门

简介

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建及开发过程。JavaEE开发的小伙伴肯定听说过”约定优于配置”、”契约式编程”,就是说系统、类库、框架应该假定合理的默认配置,而非要求提供不必要的配置,简化配置项减少跨平台部署容易出现的问题。基于这些问题Spring Boot应运而生,更简单快捷的构建Spring应用。

Spring Boot优点

Spring Boot让Spring应用简单、快速、轻量化!传统的Spring应用搭建一个基础的spring web项目需要做些什么呢?

1) 配置web.xml,加载spring和spring mvc.
2) 配置数据库连接、配置spring事务等.
3) 配置文件的加载、读取.
4) ……

之后的部署,打包十分繁琐.虽然基于”约定优于配置”Spring能够减少了很多的配置项,但是仍然比较臃肿,每个项目都需要这么折腾一遍!但是如果使用微服务Spring Boot框架,只需少量配置即可.