
springboot
文章平均质量分 76
ignorewho
笑你我枉花光心计 爱竞逐镜花那美丽
展开
-
SpringBoot-配置发送邮件遇到的一些问题
使用springboot向163邮箱发送邮件遇到一些问题,主要归为如下几点:1.连接smtp.163.com异常,报错:java.net.UnknownHostException: smtp.163.com2.用户权限不足,报错:javax.mail.AuthenticationFailedException: 550 User has no permission3.认证错误,报错:javax.m...原创 2018-06-11 16:39:57 · 10221 阅读 · 0 评论 -
springboot-Ordered接口
Ordered接口:spring用于对象排序的接口,值越小,优先级越高常用扩展接口:PriorityOrdered,继承了Ordered接口 下面是PriorityOrdered接口的一个使用场景:1.springboot容器启动过程中执行invokeBeanFactoryPostProcessors时会执行BeanDefinitionRegistryPostProcessor集合...原创 2018-12-12 20:23:57 · 1814 阅读 · 1 评论 -
springboot-BeanDefinitionRegistry接口
BeanDefinitionRegistry接口:用于注册BeanDefinition到容器中的接口类 实现类众多抽象类:AbstractBeanDefinitionSpringBoot默认使用的实现类是:DefaultListableBeanFactory 主要接口方法:1.registerBeanDefinition(注册BeanDefinition)2.r...原创 2018-12-12 20:24:46 · 1434 阅读 · 0 评论 -
springboot-@PropertySource使用注意事项
注意事项如下:1.注解的配置文件如果名称name字段重复,springboot会自动基于重复的配置文件进行扩展。2.使用@PropertySource注解不要使用@EnableConfigProperties的方式载入容器,最好用@CompontenScan能扫描到的方式载入容器,可以参考:ConfigurationClassParser的doProcessConfigurationCla...原创 2018-12-12 20:27:21 · 533 阅读 · 0 评论 -
springboot-Bean的创建过程
Bean的创建过程:DefaultListableBeanFactory->AbstractBeanFactory->AbstractAutowireCapableBeanFactoryDefaultListableBeanFactory:执行创建bean前的准备操作,如:将factory注册表所有的BeanDefination转化为RootBeanDefinationAbstr...原创 2018-12-20 16:19:01 · 2552 阅读 · 0 评论 -
springboot-容器及启动过程
SpringBoot会启动两个容器,即父子容器父容器(Spring容器):AnnotationConfigWebApplicationContex子容器(SpringMVC容器):AnnotationConfigEmbeddedWebApplicationContex思考几个问题:问题1:为什么要启动父子两个容器?在Spring整体框架的核心概念中,容器是核心思想,而在一个项目中,容器...原创 2018-12-17 18:10:50 · 2367 阅读 · 5 评论 -
springboot-controller接口常用技巧
编写Controller接口Controller简述接口参数时间参数格式化参数注解参数校验日志记录配置跨越获取request或responseController简述在springMvc架构模式下,controller作为后端控制器,是我们写接口时接触最多的,如何更快更好地写好一个controller层接口,是我们必备知识技能。接口参数时间参数格式化@DateTimeFormat(pa...原创 2019-08-03 18:13:21 · 3204 阅读 · 1 评论 -
springboot源码-内置tomcat初始化
前言:1.承接springboot源码-内置tomcat容器创建,对最后一个步骤getTomcatEmbeddedServletContainer(tomcat)进行详细阐述2.getTomcatEmbeddedServletContainer(tomcat)主要是执行了容器的初始化,核心方法:TomcatEmbeddedServletContainer-initialize涉及一些知识...原创 2018-12-29 11:31:03 · 701 阅读 · 0 评论 -
springboot源码-内置tomcat创建过程
前言:1.在Springboot-web应用启动过程中,执行子容器的OnRefresh步骤时,创建并初始化一个内置的tomcat8容器2.然后在执行子容器的finishRefresh步骤时,启动tomcat容器tomcat-8相关:1.Apache Tomcat 8支持Java EE 7规范,包括Java Servlet 3.1、JSP 2.3、Java统一表达式语言EL 3.0等2...原创 2018-12-29 10:42:23 · 750 阅读 · 0 评论 -
springboot源码-诊断分析器模块
springboot诊断分析模块诊断分析模块简介工作流程源码分析分析入口类分析器报告器总结诊断分析模块简介springboot在启动过程中,会对启动失败的原因及异常进行诊断,并打印报告工作流程初始化阶段:加载springboot内置配置的分析器准备阶段:设置bean工厂/环境配置分析阶段:遍历调用分析器,只要有分析结果返回报告阶段:将分析结果进行整理格式化,方便用户解读源码...原创 2019-08-18 20:05:33 · 296 阅读 · 0 评论 -
springboot-maven引入其他模块无法扫描到spring bean的问题
模块A引入模块B ,但是模块B的bean一直注入不进来原因: A模块的Application是在com.xx.xx包下,那么势必只能扫描到这个包下的bean, B模块的Application是在com.xxx包下,那么在A引入B以后就A就肯定扫描不到他上层包的bean解决办法:1.将A模块和B模块的Application置于相同路径下,例如com.xx下(只是名称一致,不是真的在同一包...原创 2018-12-12 20:22:31 · 10033 阅读 · 9 评论 -
springboot-BeanDefinition学习
BeanDefinition:描述一个bean实例有哪些属性值、构造器参数值以及一些其他bean相关信息 比较常用的BeanDefinition实现类为GenericBeanDefinition,GenericBeanDefinition的优点是它允许动态定义父依赖项,而不是将该角色“硬编码”为RootBeanDefinition定义。类图结构如下: 扩展:Bean...原创 2018-12-12 20:21:25 · 761 阅读 · 0 评论 -
springboot-Aware接口
Aware原意是"能够感知的",在Spring中有很多以Aware结尾的接口名称,他们起到的作用是让实现类能够获取到相关的信息,举例如下:BeanNameAware:实现该接口的类可以获取自身beanName属性ApplicationContextAware:实现该接口的类可以获取springContext属性,即Spring容器 总结:1.Spring-Aware相关接口众多...原创 2018-12-12 20:18:04 · 1327 阅读 · 0 评论 -
SpringBoot-读取自定义配置遇到的一些问题
使用springboot读取自定义配置遇到一些问题,主要归为如下几点:1.最新的SpringBoot版本@ConfigurationProperties注解不支持location属性,无法指定配置文件路径2.通过新的方式@PropertySource注解指定配置文件路径后,发现读取到的配置仍旧是默认配置文件的内容问题1:问题原因:SpringBoot官方认为在配置类中指定配置文件路径不是一种合理的...原创 2018-06-12 16:11:05 · 1551 阅读 · 1 评论 -
SpringBoot-使用thymeleaf模板遇到的一些问题
使用springboot+thymeleaf遇到一些问题,主要归为如下几点:1.在/templates目录下创建自定义目录/my,并在该目录下创建index.html,程序中如何访问index.html2.如果不使用/templates目录作为默认路径,该如何配置问题1解决方式:在controller层方法中通过设置ModelAndView名称的为:my/index,然后返回该ModelAndVi...原创 2018-06-14 14:16:31 · 4917 阅读 · 3 评论 -
SpringBoot-使用springboot-junit测试controller层接口
需求:使用springboot junit测试所有controller层的接口方法:通过Mock方式实现步骤:1.创建MockMvc实例,对应代码如下: private MockMvc mvc; @Autowired private WebApplicationContext wac; @Before public void setUp() { mvc = MockMvcBui...原创 2018-06-08 11:24:33 · 4435 阅读 · 0 评论 -
SpringBoot-事件监听的4种实现方式
springboot进行事件监听有四种方式:1.手工向ApplicationContext中添加监听器2.将监听器装载入spring容器3.在application.properties中配置监听器4.通过@EventListener注解实现事件监听讲到事件监听,这里我们说下自定义事件和自定义监听器类的实现方式:自定义事件:继承自ApplicationEvent抽象类,然后定义自己的构造器自定义监...原创 2018-06-15 11:35:56 · 32982 阅读 · 0 评论 -
SpringBoot-Mock方式发送http post请求,参数无法正确设置到请求方法体中
问题描述:使用Spring Mock的方式发送post请求,参数没有正确被设置到请求方法体中,导致发送请求到后台无法正常获取参数原始代码如下:RequestBuilder request = post("/loggers/logger.controller").content(JSONObject.toJSONString(map));问题原因:调用content()方法之前,没有指定conten...原创 2018-06-08 17:01:53 · 5465 阅读 · 0 评论 -
SpringBoot-yaml使用总结
什么是yaml?是json的超集,用于分层配置数据yaml规范:1.yaml配置文件中注释使用#开头,后面跟注释内容2.yaml不能添加制表符,否则会报错,解析不了文件3.yaml需要上下格式对齐,空格数没有限制4.yaml配置项如果有值,后面必须跟空格,然后跟值yaml使用:1.支持读取map/数组/数组+map具体配置如下:my: #map name: ignore ...原创 2018-06-19 17:36:52 · 2784 阅读 · 3 评论 -
SpringBoot-集成jpa遇到的一些问题
使用springboot集成jpa遇到一些问题,主要归为如下几点:1.启动项目时,报错:Cannot determine embedded database driver class for database type NONE2.controller方法中参数是Bean类型,进行mock测试时不知道如何传递参数3.对jpa.hibernate.ddl-auto配置了解不够,导致mock测试时出现...原创 2018-07-11 17:50:44 · 913 阅读 · 0 评论 -
SrpingBoot-配置文件中使用随机数
实现方式:1.通过${random}配置来产生随机的值2.支持生成int、String、long等类型的值 具体使用:1.test.int=${random.int}2.test.long=${random.long}3.test.string=${random.value}4.test.int.range=${random.int[5]},生成5以内的int随机数...原创 2018-10-14 16:02:13 · 197 阅读 · 0 评论 -
springboot-配置类学习
开发SpringBoot应用时经常涉及到配置文件,平时只是知道使用@ConfigurationProperties来注解类,或者使用@Value来获取配置值,通过@EnableConfigurationProperties来将配置类作为bean引入容器中,等等这些操作只是局限于使用上,现在我决定去研究下源码,帮助自己能够更充分地了解其中的机制。一、首先从@Configurati...原创 2018-12-12 20:16:34 · 3756 阅读 · 2 评论 -
springboot启动-监听器模块
springboot启动-监听器模块监听器模块简介工作流程源码分析SpringApplicationRunListenersSpringApplicationRunListenerApplicationEventMulticasterApplicationListener设计总结经验总结扩展学习监听器模块简介springboot在启动过程中会调用监听器模块,将开始事件、环境准备事件、启动完成...原创 2019-08-24 23:36:44 · 1477 阅读 · 0 评论