SpringBoot 全局视角看springboot】的更多相关文章

从单体架构到微服务 单体架构 任何一个网站在发布初期几乎都不可能立马就拥有庞大的用户流量和海量数据,都是在不停 的试错过程中一步一步演变其自身架构,满足其自身业务.比如现在能够抗住双十一这么大 流量的淘宝,它的技术最早用的是 LAMP(Linux+Apache+Mysql+Php). 实际上,架构越复杂,意味着业务的体量越庞大. 对于一个刚刚起步的项目,我们会选择最简单最快速的方式来实现.而单体架构是最好的选 择,目前很多的传统软件行业仍然采用这类的架构. 一般的实施方案是,把所有的功能模块都打…
后端接口,经常会用token获取对应的账号信息.于是考虑将这个步骤封装起来. 之前项目使用ThreadLocal去做这样的事情,但昨天看SpringBoot的官方文档,发现借助框架的功能也可以做这样的事情,而且更方便,直观 @ModelAttribute 介绍 FOR EXAMPLE: @RestController public class TestController { @ModelAttribute public String add(){ return "哈哈"; } @Re…
全局配置文件 全局配置文件能够对一些默认配置值进行修改.SpringBoot 使用一个名为 application.properties 或者 application.yaml的文件作为全局配置文件,该文件会放在 src/main/resource 目录或者类路径的 /config 目录下,一般会选择 /resource.下面将讲解这两种配置文件: (1)application.properties配置文件 使用Spring Initializr方式构建的SpringBoot项目会自动在 src…
emmm.....这次先不说springboot原理,先好好回顾一下以前的注解版spring原理,先把spring原理了解清晰了,再看springboot原理更容易. 要说起spring,最重要的就是创建ioc容器的全过程,也可以叫做生命周期. 所谓的ioc容器就是实现类:我们常看到的,有一个最顶层的BeanFactory接口,还有一个子接口ApplicationContext,其实现类都可说是ioc容器(称呼很笼统),只是ApplicationContext功能更强大,而且可以通过配置文件来实…
上一节走了一遍从浏览器发出请求到得到向页面的流程,基本的功能是已经实现了.但是现在啊,我想自定义一个拦截器(拦截器可以做用户登录验证,如果登录了,就让你通过,如果没有登录,就重定向登录页面),这里就不复杂了,简单实现以下原理,除了不拦截“/hello”请求,其他请求我都拦截并跳转到index.html. 1.了解springboot的配置类格式 springboot的配置类最常见的就是在类上面标注@Configuration,表示这是一个配置类(就是以前的xml): 第一种:在配置类的里面就有很…
上一节讲到了快速新建一个springboot应用,以及springboot的自动配置类起作用的时机,并且一起看了一个自动配置类的源码. 这一节我们来粗略看看当用户在浏览器输入一个url,怎么样返回一个静态HTML和动态网页,以及其中的原理. 在此之前说一点,springboot不支持jsp,也就是说以前我们写的jsp页面页面在这里解析不了,换句话说,springboot肯定有一个自己独有的类似jsp的技术来实现动态网页的访问,这点毫无疑问,不然一个网站只能访问html网页,太单调了. sprin…
springboot 全局异常处理 研究了半天springboot的全局异常处理,虽然还是需要再多整理一下,但是对于常见的404和500足以可以区分开,能够根据这两个异常分别处理 首先配置视图解析路径 spring.mvc.view.prefix=/WEB-INF/ spring.mvc.view.suffix=.jsp 针对500错误 创建单独的配置类,放在启动类同包或子包下 import org.springframework.web.bind.annotation.ControllerAd…
SpringBoot全局异常捕获 使用到的技能 @RestControllerAdvice或(@ControllerAdvice+@ResponseBody) @ExceptionHandler 代码实现 统一返回入口 自定义异常 全局异常处理 统一返回入口Result /** @ClassName Result @Description 统一返回格式 @Author chaoba @Version V1.0 */ @Data public class Result { private int…
SpringBoot全局时间转换器 日常开发中,接收时间类型参数处处可见,但是针对不同的接口.往往需要的时间类型不一致 @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")需要每个属性上都要增加,大大增加工作量 可通过实现Converter接口,进行全局时间转换 全局时间转换代码 import org.springframework.core.convert.converter.Converter; import org.springfram…
1.SpringBoot是什么? SpringBoot是一套基于Spring框架的微服务框架. 2.为什么需要SpringBoot 由于Spring是一个轻量级的企业开发框架,主要的功能就是用于整合和管理其他框架.但随着整合的框架越来越多,Spring的整合配置也日益繁琐.在这个情况下,Spring团队有了一个想法:就是将平时主流的.经常使用到的框架的整合配置预先写好,然后通过简单的几个参数就可以实现框架的快速整合.这个想法催生SpringBoot框架,它是实现了各种主流框架与Spring的自动…