springboot
文章平均质量分 59
如何在5年薪百万
202110,如何5年内年薪百万
201901,如何3年内拿到50+,如果快速提升价值,拿到50k+的薪水
201801,如何在3年内拿到30+,我一工作6年,后面3年我要思考如何拿到30+
展开
-
2021-05-24
一、说明springboot starter是springboot的四大特性之一,他将常用的依赖分组进行了整合,将其合并到一个依赖中,这样就可以一次性添加到项目的构建中;理解stater并熟练应用是掌握spring框架的基本功之一。二、条件starter其实本质上是一个空的jar包,仅仅用来提供整合的maven依赖,告诉你启动一个项目需要什么模块。starter理应简洁明了,不要包含过多的功能和非必要的依赖。一个自定义的starter推荐包含两个模块autoconfigure自动配置模块,用来原创 2021-05-24 00:44:38 · 145 阅读 · 3 评论 -
021-【springboot源码解读-自动配置三部曲01】创建属于自己的spring boot autofigure
说明在springboot项目启动时,componentScan会扫描项目根路径下所有的组件并且加载到spring容器中。但对于外部引入的maven依赖,由于jar包的位置不自在根目录,组件扫描是不起作用的。如果我们项目中需要引入一个自己开发的模块,该如何让springboot自动识别并加载到容器中呢? 今天我们参考官方讲述下spring自动装配组件的用法。这里是指springboot自动装配的一个很重要部分,但并不是自动装配完整过程。过程定位需要装配的类spring-boot启动的时候会找到原创 2021-05-24 00:43:09 · 232 阅读 · 3 评论 -
01 SpringBoot自动装配入门核心原理
文章目录自动装配SpringFrame手动装配Spring模式注解:注解的层次性和派生性@Enable模块装配Spring条件装配基于profile配置化装配方式基于conditional编程化方式条件装配SpringBoot自动配置总结自动装配SpringFrame手动装配Spring模式注解:生命在应用中扮演组件角色的注解@Component @Service @Configura...原创 2020-04-26 12:00:50 · 245 阅读 · 0 评论 -
Spring注解编程模型基础
术语Meta-Annotations元注解元注解用于声明在其他注解上,作为注解的注解。相反的角度来说,如果一个注解被元注解标注。例如:@Service is meta-annotated with @ComponentStereotype Annotations 模式注解模式注解用来声明一个组件在应用中扮演的角色。比如@Repository 用来表示当前组件时一个数据库层。@Compo...原创 2020-04-26 11:42:33 · 280 阅读 · 0 评论 -
Spring的Controller是单例模式精讲
引言很多同学都知道spring里默认bean模式是单例模式,但大多数人没有深刻理解这种模式的代表了什么,以及在开发是这种模式需要注意的点。希望通过几个测试的结果帮助大家理解单例模式的spring有哪些效果知识点先说下结论Spring默认bean的模式是单例模式,@Controller也是bean的一种,也是单例模式。单利模式下只在容器启动时创建一个实例,每次调用都共享这一个实例。pro...原创 2020-04-09 11:57:29 · 1779 阅读 · 1 评论 -
SpringAOP中的JointPoint和ProceedingJoinPoint使用详解(附带详细示例)
概念Joint PointJointPoint是程序运行过程中可识别的点,这个点可以用来作为AOP切入点。JointPoint对象则包含了和切入相关的很多信息。比如切入点的对象,方法,属性等。我们可以通过反射的方式获取这些点的状态和信息,用于追踪tracing和记录logging应用信息。Pointcutpointcut 是一种程序结构和规则,它用于选取join point并收集这些poi...原创 2020-04-03 19:56:32 · 79308 阅读 · 13 评论 -
spring中/和/*和/**的区别,简介明了搞清楚怎么用
区别是什么?请一句话搞明白下面的文字意思,理解可就可以走人。/ 和 /*区别/ 拦截所有请求 包括静态资源和动态请求 但是不拦截jsp/*拦截所有请求 包括静态资源和动态请求 也拦截jsp区别就在于/ 不拦截jsp /*拦截jsp/* 和 /** 区别/**的意思是所有文件夹及里面的子文件夹/*是所有文件夹,不含子文件夹注意点案例理解下面的案例有助于理解如何使用场景:当我...原创 2020-04-01 17:23:54 · 6703 阅读 · 0 评论 -
02 RestTemplate发送客户端请求
,RestTemplate涵盖了所有的HTTP动作。除此之外,execute()和exchange()提供了较低层次的通用方法来使用任意的HTTP方法。restTemplate方法整理请求方式上分为Post和Get方法请求结果生可以返回Object,ResponseEntity或其他(特殊)execute()和和exchange()都可执行任意方法,分别返回Object和Respon...原创 2020-03-26 19:48:55 · 901 阅读 · 0 评论 -
Websocket Stomp跨域时无法添加header参数的问题
背景websocket+跨域+通过frame的header传参时,前端无法传递header参数解决方案我是缺少了这一行导致的无法传递header“Access-Control-Request-Headers”,@Configurationpublic class WebMvcConfig implements WebMvcConfigurer { @Override public...原创 2020-01-09 11:58:34 · 7917 阅读 · 4 评论 -
Springboot事件监听详解
1 基本概念这个是异常的抛出和捕捉类似,我理解异常算是Event的一种。Event事件,事件本身需要继承ApplicationEvent监听器Listener,负责监听抛出的事件,需要实现ApplicationListener接口。通常用@Component注入到容器中。事件抛出,抛出后会被监听器捕捉到,进而触发业务流程。2 Spring自带监听事件ServletContextL...原创 2020-01-06 11:23:45 · 893 阅读 · 0 评论 -
【websocket三】 @MessageMapping 和 @SubscribeMapping 注解区别
客户端可以有多种不同的方式,发送消息给server,包括 SUBSCRIBE和 SEND.@SubscribeMapping("/topic/topic1") 标注的方法,只会处理SUBSCRIBE发送的消息。@MessageMapping("/topic/topic1") 标注的方法,只会处理SEND发送的消息。在客户端和server建立连接后,涉及到很多不同形式的消息转发,这个可以参考R...原创 2019-12-13 17:37:11 · 9350 阅读 · 0 评论 -
【websocket二】基于STOMP协议实现springboot+websocket入门篇
背景上一篇文章介绍了webSocket的实现过程,虽然达到了多人一对一和一对沟通的目的,但实现的过程是很复杂的,面对更加复杂的业务场景,需要更多的代码去实现。我们对于用户的管理是需要自己创建多线程,这个是个技术活,不好控制。STOMP协议基础上的websocktstomp本身是一种协议,更接近与消息队列的模式。与原生的websocket相比,不需要自己管理用户。只需要指定通道即可。原理如下:...原创 2019-12-13 15:27:09 · 1019 阅读 · 0 评论 -
【websocket一】Websocket是什么springboot mvc下搭建websocketdemo
websocket是什么WebSocket提供了一种标准的方式,建立客户端和服务器之间全双工、双向的的TCP连接通道。websocket基于http协议,默认使用80 和443端口。WebSocket和Http的区别1,websocket是基于http协议的,用到了http的header字段,Upgrade在成功握手后,websocket并不返回200状态吗,而是在upgrade保持联通...原创 2019-12-13 14:50:54 · 472 阅读 · 0 评论 -
springboot接收数组,以及前台如何赋值,空值处理详解
前端如何赋值数组以及空值处理2.1 数组的赋值如下 results,如果是字符串数组加上单引号即可。2.2有三种情况,ajax是不会提交给后台。数组为空[]数组为空字符串 ‘’数组没定义这里看到提交给后台的数据只有results。这点很重要,关系到你如何控制不传递给后台数据的赋值问题。2.3 避免赋null或者不赋值method:method:null上面两种情况会导...原创 2019-08-17 19:45:05 · 6459 阅读 · 0 评论 -
Springboot2.0设定restTemplate超时(最新的方法)
背景setConnectTimeout 设定连接超时。从你发起建立连接请求到连接建立前的时间。setReadTimeout 设定读取超时。连接建立后,发起request到收到response的时间。这个要慎重,如果你设置了超时,上游最后又把数据response给你了,可能出现你和上游的数据不一致。restTemplateBuilder方式已经被废弃restTemplateBuil...原创 2019-07-04 10:25:23 · 16639 阅读 · 0 评论 -
如何在idea利用maven把tomcat发布到外部tomcat提出内嵌的版本?
说明如何在idea下利用maven打包war包如何在发布war包到外部tomcat容器时,剔除内嵌的tomcat(否则404)在本地idea执行时用内嵌的tomcat,当打包时剔除内嵌tomcat,这样才完美操作1 idea下利用maven打包war包 <packaging>war</packaging> <build> &l...原创 2019-07-03 16:26:50 · 702 阅读 · 0 评论 -
将SpringBoot打成可执行jar包
背景springboot可以通过maven直接打包称为可执行的jar。而不需要打成war包后放入Tomcat才能启动。https://docs.spring.io/spring-boot/docs/current/reference/html/getting-started-first-application.html#getting-started-first-application-exe...原创 2019-06-04 00:22:47 · 17452 阅读 · 2 评论 -
Springboot配置文件的加载位置及优先顺序
背景springboot会按照下面优先级顺序寻找application.properties文件和application.yml文件。高优先级覆盖低优先级的文件内容。file:./config 文件路径下和src同级别新建一个文件夹file:./classpath:/config/ 类路径下classpath:spring.config.location可以用来改变加载文...原创 2019-06-07 15:37:42 · 566 阅读 · 0 评论