![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
springboot
文章平均质量分 89
帅天下
这个作者很懒,什么都没留下…
展开
-
初识springboot
作为目前架构设计主推的微服务模式,springboot无疑是java程序员的福音,下面就开始springboot的实战之旅。(目前已有深入应用以及与其他各大技术框架集成,本地实践笔记40余篇,后续持续连载)通过spring4的了解,spring4加入了更多的注解,从而减少xml文件的编写。从最初的纯粹xml配置、到注解+xml结合、到现在的java配置,进行了很大的一个调整。原创 2016-12-22 13:18:10 · 1237 阅读 · 0 评论 -
常规容器下SpringBootServletInitializer如何实现web.xml作用解析
在之前的《使用jsp作为视图模板&常规部署》章节有过一个实践,需要启动类继承自SpringBootServletInitializer方可正常部署至常规tomcat下,其主要能够起到web.xml的作用。下面通过源码简单解析为何其能够替代web.xml。本章概要1、源码分析如何实现SpringBootServletInitializer整个加载过程;2、实现自定义WebAppl原创 2017-01-06 14:50:32 · 53127 阅读 · 4 评论 -
使用logback实现日志记录
在开发中打印内容,使用 System.out.println() 和 Log4j 应当是人人皆知的方法了。 其实在开发中我们不建议使用 System.out 因为大量的使用 System.out 会增加资源的消耗。 而Log4j 更为灵活在性能上也相比 System.out 要高,我们可以配置输出级别,可以指定多个日志文件分别记录不同的日志。 使用 System.out 是在当前线程执原创 2017-01-06 14:35:22 · 7177 阅读 · 0 评论 -
启动自执行 CommandLineRunner
实际应用中,我们会有在项目服务启动的时候就去加载一些数据或做一些事情这样的需求。 为了解决这样的问题,Spring Boot 为我们提供了一个方法,通过实现接口 CommandLineRunner 来实现。很简单,只需要一个类就可以,无需其他配置。 创建实现接口 CommandLineRunner 的类:package com.shf.springboot.runner;imp原创 2017-01-06 14:29:45 · 8135 阅读 · 0 评论 -
拦截器的应用(+过滤器优化)
过滤器属于Servlet范畴的API,与Spring 没什么关系。 Web开发中,我们除了使用 Filter 来过滤请web求外,还可以使用Spring提供的HandlerInterceptor(拦截器)。HandlerInterceptor 的功能跟过滤器类似,但是提供更精细的的控制能力:在request被响应之前、request被响应之后、视图渲染之前以及request全部结束之后。我原创 2017-01-06 14:24:55 · 2366 阅读 · 0 评论 -
springboot下静态资源的处理
在SpringBoot中有默认的静态资源文件相关配置,需要通过如下源码跟踪:WebMvcAutoConfiguration-->configureResourceChain(method)-->ResourceProperties中配置了默认的静态资源路径,其默认的优先级:META/resources > resources > static > public 下面通过案例实践验证静态资源的应用原创 2017-01-06 14:06:16 · 19138 阅读 · 0 评论 -
采用devtools实现热部署
在开发过程中,我们经常需要编写边测试验证,没改动一次代码保存手动重启服务相对有些繁琐,springboot给我们提供了devtools热部署的方案原创 2017-01-06 14:00:46 · 4830 阅读 · 0 评论 -
SpringBoot中Servlet&Listener&Filter的应用
在spring boot中添加自己的Servlet有两种方法,代码注册Servlet和注解自动注册:一、代码注册通过ServletRegistrationBean、 FilterRegistrationBean 和 ServletListenerRegistrationBean 获得控制。 二、在 SpringBootApplication 上使用@ServletComponentScan 注解后,Servlet、Filter、Listener 可以直接通过 @WebServlet、@WebFilter原创 2017-01-06 13:28:04 · 2103 阅读 · 0 评论 -
springboot采用FreeMarker模板集成应用
本案例继续在之前的章节的工程集成上进行,再次 添加Freemarker作为视图模板。原创 2017-01-06 13:21:13 · 27235 阅读 · 1 评论 -
SpringBoot自有Tomcat不同方式配置
在之前的章节中已经有设置tomcat的相关配置说明,本章节重点讲解下3种tomcat的设置,每个方式还是有一定的差异化。原创 2017-01-06 11:58:08 · 13283 阅读 · 0 评论 -
jsp&thymeleaf双视图应用
如何同时使用jsp&thymeleaf双视图,下面的实践案例继续在之前已经构建的工程基础上展开。原创 2017-01-06 11:49:49 · 4852 阅读 · 1 评论 -
使用默认thymeleaf作为视图模板
之前也提及springboot不推荐使用jsp,默认使用thymeleaf。本次的实践案例直接在异常处理的基础上实现。1、添加thymeleaf依赖,在POM文件中添加如下依赖:org.springframework.bootspring-boot-starter-thymeleaf2、定义异常页面:统一异常处理E原创 2017-01-06 11:43:04 · 14291 阅读 · 1 评论 -
springboot异常处理解析
在之前的springmvc中,详细的研究了异常处理的源码以及不同异常处理方式的优先级。那么SpringBoot呢,同样有异常的处理通用方式,下面根据SpringMvc的类似方式入手,尝试不同的异常处理方式。本章概要1、模拟springmvc实现异常处理;2、springboot更丰富的异常处理;3、简单的源码分析;原创 2017-01-06 11:26:56 · 6337 阅读 · 1 评论 -
使用jsp作为视图模板&常规部署
springboot其实并不推荐使用jsp作为视图模板,其默认采用Thymeleaf作为模板,出于对其没有研究,故考虑目前阶段仍然使用jsp作为视图模板。原创 2017-01-06 11:14:46 · 2982 阅读 · 0 评论 -
messageConverter应用
在springmvc和springboot中,均默认采用MappingJackson2HttpMessageConverter来实现JSON数据的处理,那么我们是否可以通过其他转换器实现呢?可以的,本章将通过GsonHttpMessageConverter来诠释messageConverter在springboot中的灵活应用。本章概要1、如何实现GsonHttpMessageConverter作为默认的JSON数据转换;2、如何扩展实现系统默认的GsonHttpMessageConverter;原创 2017-01-06 10:53:10 · 12328 阅读 · 0 评论 -
获取ApplicationContext
在之前一直使用的springmvc+spring中,比如在启动的servlet中使用、在filter中,部分场景下可能无法直接通过注入的方式获取bean,此时需要我们通过实现ApplicationContextAware接口来获取ApplicationContext对象,然后通过applicationContext.getBean(name)方式获取bean,那么在springboot中呢,通过下面的代码发现,简答了很多,直接注入即可。原创 2017-01-06 11:05:11 · 2428 阅读 · 0 评论 -
实现生产环境的监控&管理
spring-boot-actuator模块提供了一个监控和管理生产环境的模块,可以使用http、jmx、ssh、telnet等管理和监控应用。审计(Auditing)、健康(health)、数据采集(metrics gathering)会自动加入到应用里面。原创 2017-01-06 10:39:20 · 944 阅读 · 0 评论 -
通过@ImportResource实现xml配置的装载
通过初识springboot的实践,所有的bean装载全部通过java配置实现,那么一直以来习惯的xml配置是否就没有了用武之地呢,答案是否定的,下面就通过实践验证说明。1、通过之前的实践,在启动类APP中定义了@ComponentScan(basePackages={"com.shf.SpringBoot1","com.shf.springboot.*"})扫描相关的注解配置类,故本原创 2016-12-23 15:53:55 · 34729 阅读 · 1 评论 -
可靠事件实现微服务下最终一致性事务
通过《消费者实现应用内分布式事务》、《生产者实现应用内分布式事务管理》、《实现持久订阅消费者》三个章节的实践,其实我们已经可以通过消息队列实现多应用的分布式事务,应用内的事务保证了消息不会被重复生产消费、持久化订阅保证了消息一定会被消费(进入死信队列特殊处理),但其对于业务来说耦合性还是太强,在进行业务处理的同时消息处理名,其采用的仍然是应用内的事务处理,并不适合在大型高性能高并发系统实践,那么本原创 2017-04-01 09:35:14 · 5877 阅读 · 1 评论