SPRING
文章平均质量分 90
hy_coming
不忘初心 方得始终
展开
-
applicationContext 加载顺序错误导致服务启动失败及解决方法
一、Spring解决方式描述:对接一个sso的验证模块,正确的对接姿势为,接入一个 filter, 然后接入一个 SsoListener 。然而在接入之后,却导致了应用无法正常启动web.xml<?xml version="1.0" encoding="UTF-8" ?><web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instanc.原创 2021-05-06 20:32:14 · 2141 阅读 · 1 评论 -
Spring中@DependsOn注解的作用及实现原理解析
官方文档解释Beans on which the current bean depends. Any beans specified are guaranteed to be created by the container before this bean. Used infrequently in cases where a bean does not explicitly depend on another through properties or constructor arguments,转载 2021-04-25 13:53:59 · 864 阅读 · 0 评论 -
记一次Spring 循环依赖的踩坑过程
问题今日Springboot项目在启动的时候报错了,错误如下ERROR SpringApplication - Application startup failedorg.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'xxxxxxxx': Unsa...原创 2020-04-13 15:00:31 · 432 阅读 · 0 评论 -
【springboot】——SpringBootSecurity
关于这个可以看这篇文章:https://www.cnblogs.com/guos/p/11601179.html原创 2020-01-31 14:48:59 · 179 阅读 · 0 评论 -
【Spring Boot】——集成TkMybatis插件
前提:基于SpringBoot项目,正常集成Mybatis后,为了简化sql语句的编写,甚至达到无mapper.xml文件。在本篇总结教程,不在进行SpringBoot集成Mybatis的概述。如有需要,请查看我另一篇文章 SpringBoot集成MyBatis,这里不再赘述。一. 实现步骤1. 引入TkMybatis的Maven依赖2. 实体类的相关配置,@Id,@Ta...转载 2019-06-24 13:58:06 · 1658 阅读 · 0 评论 -
【Spring】——FileSystemXmlApplicationContext 和ClassPathXmlApplicationContext
一、概述在项目中遇到加载不到Spring配置文件,简单分析后,写此文备忘!二、测试所需资源TestBean.javapublic class TestBean { public TestBean(){ System.out.println(this.getClass().getName().concat(" init !")); } pu...转载 2019-06-27 09:33:26 · 292 阅读 · 0 评论 -
【Springboot】——WebMvcConfigurerAdapter详解
一、WebMvcConfigurerAdapter是什么Spring内部的一种配置方式采用JavaBean的形式来代替传统的xml配置文件形式进行针对框架个性化定制二、WebMvcConfigurerAdapter常用的方法/** 解决跨域问题 **/public void addCorsMappings(CorsRegistry registry) ;/** 添加拦截器 *...转载 2019-06-27 15:35:15 · 1283 阅读 · 0 评论 -
【Springboot】——@EnableScheduling、@Scheduled
@EnableScheduling开启计划任务支持,@Scheduled计划任务声明 1 package ch2.scheduler2; 2 3 //日期转换方式 4 import java.text.SimpleDateFormat; 5 import java.util.Date; 6 7 //计划任务声明 8 import org.springframewor...转载 2019-06-27 15:57:54 · 268 阅读 · 0 评论 -
【Springboot】——@EnableAsync@Async
一直不太明白,线程池在实际应用当中到底扮演什么样的角色,有什么场景要用到,只有真正的项目设计的时候才能逐渐理解,实践出真知说的就是这么个道理。使用多线程,往往是创建Thread,或者是实现runnable接口,用到线程池的时候还需要创建Executors,spring中有十分优秀的支持,就是注解@EnableAsync就可以使用多线程,@Async加在线程任务的方法上(需要异步执行的任务),定义...转载 2019-06-27 16:03:18 · 37611 阅读 · 5 评论 -
【Springboot】——@Deprecated
昨天看阿里的java开发手册,其中有一个OOP规约(网上百度了一下,这个规约是阿里自己制定的),其中有一条: 外部正在调用或者二方库依赖的接口,不允许修改方法签名,避免对接口调用方产生影响。接口过时必须加 @Deprecated 注解,并清晰地说明采用的新接口或新服务是什么。 这其中提到了 @Deprecated 注解,在之前的开发过程中没遇到过这个注解,于是查了下他的功能:...转载 2019-07-09 09:57:43 · 3317 阅读 · 1 评论 -
【SpringBoot】——配置Cors解决跨域请求问题
一、同源策略简介同源策略[same origin policy]是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。 同源策略是浏览器安全的基石。什么是源源[origin]就是协议、域名和端口号。例如:http://www.baidu.com:80这个URL。什么是同源若地址里面的协议、域名和端口号均相同则属于同源。是否是同源的判断例如判...转载 2019-06-28 10:32:49 · 620 阅读 · 0 评论 -
【SpringBoot】——Hibernator-Validator校验框架
介绍首先说下大家常用的hibernate-validator,它是对JSR-303/JSR-349标准的实现,然后spring为了给开发者提供便捷集成了hibernate-validator,默认在springmvc模块。依赖本文所介绍皆在springboot应用的基础上,首先加上web模块:<dependency> <groupId>org.sp...转载 2019-06-28 11:14:40 · 4069 阅读 · 0 评论 -
【分布式】——Hystrix实战
背景现在我们自己有一个服务A,需要依赖第三方的服务B,由于第三方的资源问题,导致我们在高峰期的时候调用第三方的时候总是出现超时未返回的现象,由于我们B服务给我们提供了较多的接口,其中有个别的接口属于比较重要的接口不能,为了在高峰期的时候不影响其中几个重要接口的处理速度,在服务A上面针对非重要接口进行的限流降低策略来削峰,尽量保证重要接口的响应,并且走fallback降级逻辑,返回对应的业务处理...原创 2019-09-14 19:52:48 · 421 阅读 · 0 评论 -
spring异常之BeanCreationNotAllowedException
BeanCreationNotAllowedException:遇到异常方不方?程序猿:慌毛线,我们跟着trace看一下org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name 'stringRedisTemplate': Singleton beanc...转载 2019-09-24 21:01:12 · 7430 阅读 · 0 评论 -
【Spring】——@Configuration和@Bean
1、第一种自己写的类,Controller,Service。 用@controller @service即可2、第二种,集成其它框架,比如集成shiro权限框架,集成mybatis分页插件PageHelper,第三方框架的核心类都要交于Spring大管家管理@Configuration可理解为用spring的时候xml里面的<beans>标签@Bean可理解为用spring...转载 2019-06-26 21:16:43 · 157 阅读 · 0 评论 -
【Spring】——@Order
一、作用Spring 4.2 利用@Order控制配置类的加载顺序二、代码package com.example.demo.controller;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;impor...原创 2019-06-26 21:09:39 · 1432 阅读 · 0 评论 -
【Spring Boot】——参数校验
1、背景介绍开发过程中,后台的参数校验是必不可少的,所以经常会看到类似下面这样的代码这样写并没有什么错,还挺工整的,只是看起来不是很优雅而已。接下来,用Validation来改写这段2、Spring Boot文档中的Validation在Spring Boot的官网中,关于Validation只是简单的提了一句,如下其实,Spring Validator和Hiber...转载 2019-06-02 12:48:45 · 230 阅读 · 0 评论 -
【Spring】——介绍(1)
一、SpringSpring 4 的系统架构图Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Spring是一个轻量级的控制反转...原创 2019-03-20 19:44:16 · 220 阅读 · 0 评论 -
【Spring】——IOC容器启动过程(2.1)
前言关于 IOC 容器启动的内容很多,分为三篇讲解,其中2.1相对简单,2.2最为复杂,请大家耐心阅读。2.1 - 主要是相关基础说明和找到分析入口 2.2 - 讲解定位、加载、注册的过程(实例化在依赖注入的章节再讲) 2.3 - 细节补充调用过程图先放结论此处先放结论,大家稍微记一记,后边将展开详解 Spring 的启动流程主要是定位 -> 加载 ->...转载 2019-03-20 20:49:52 · 217 阅读 · 0 评论 -
【Spring】——IOC容器启动过程(2.2)
前言在上文《【Spring】 —— IOC容器启动过程(2.1)》中我们已经寻找到 Spring IOC 启动过程的核心方法 refresh() ,本篇我们将详细讲解启动流程 「定位 -> 加载 -> 注册 -> 实例化」 中的加载与注册环节。(定位的作用是获取到配置文件,通常我们spring的配置文件是 application.xml 或自定义的 spring-xxx.x...转载 2019-03-20 20:53:08 · 324 阅读 · 0 评论 -
【Spring】——IOC容器启动过程(2.3)
前言Spring IOC 容器的启动过程是「 定位 -> 加载 -> 注册 -> 实例化 」,前边已经讲解了最重要的「加载」与「注册」过程(「实例化」的内容将在依赖注入的章节讲解),本篇的主题是对「2.1」「2.2」的补充,定位的详细过程会在本篇中讲解,之后如果有必要还会在本篇中补充其他的一些细节内容。定位调用过程图↓↓↓关于前边的调用过程我们略过,直接来到图中的...转载 2019-03-20 20:55:53 · 256 阅读 · 0 评论 -
【Spring Cloud】——初识
一、定义Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Bo...原创 2019-03-25 17:25:07 · 370 阅读 · 0 评论 -
【Spring】—— Bean的生命周期
Spring作为当前Java最流行、最强大的轻量级框架,受到了程序员的热烈欢迎。准确的了解Spring Bean的生命周期是非常必要的。我们通常使用ApplicationContext作为Spring容器。这里,我们讲的也是 ApplicationContext中Bean的生命周期。而实际上BeanFactory也是差不多的,只不过处理器需要手动注册。一、生命周期流程图: Spring ...转载 2019-03-28 08:19:53 · 97 阅读 · 0 评论 -
【Spring Boot】——学习
地址Spring Boot学习Spring Boot 官方文档学习(一)入门及使用转载 2019-04-07 13:17:47 · 114 阅读 · 0 评论 -
【Spring Boot】——logback日志组件
前言:以前大部分的项目都是使用log4j来记录日志的,但是随着技术的发展现在在Springboot中使用最多就是logback组件,并且它的依赖组件还是springboot中默认的,下面就来看看这个组件吧1 简单日志配置spring boot内部使用Commons Logging来记录日志,但也保留外部接口可以让一些日志框架来进行实现,例如Java Util Logging,Log4J2还...转载 2019-05-01 17:08:10 · 410 阅读 · 0 评论 -
【Spring Boot】——mybatis逆向生成工具
前言:现在大部分的都是springboot+mybatis的架构,mapper文件已经相关dao层的代码都是非常耗费时间的,所以mybatis逆向生成工具应运而生,只需要你在连接数据库中创建完整的表就行,然后这个工具就能够根据表的字段生成相应的实体类、dao层和映射文件,是不是很方便,现在为了更加方便将这个工具集成在项目中,下面来看看具体怎么做的一、依赖插件在pom文件中添加(放在plug...原创 2019-05-01 20:53:07 · 1483 阅读 · 0 评论 -
【Spring Boot】——集成swagger
现代化的研发组织架构中,一个研发团队基本包括了产品组、后端组、前端组、APP端研发、测试组、UI组等,各个细分组织人员各司其职,共同完成产品的全周期工作。如何进行组织架构内的有效高效沟通就显得尤其重要。其中,如何构建一份合理高效的接口文档更显重要。接口文档横贯各个端的研发人员,但是由于接口众多,细节不一,有时候理解起来并不是那么容易,引起‘内战’也在所难免, 并且维护也是一大难题。类似RA...转载 2019-04-27 20:42:23 · 498 阅读 · 0 评论 -
【Spring Boot】——集成lombok
还在编写无聊枯燥又难以维护的POJO吗?洁癖者的春天在哪里?请看Lombok!在过往的Java项目中,充斥着太多不友好的代码:POJO的getter/setter/toString;异常处理;I/O流的关闭操作等等,这些样板代码既没有技术含量,又影响着代码的美观,Lombok应运而生。首先说明一下:任何技术的出现都是为了解决某一类问题的,如果在此基础上再建立奇技淫巧...转载 2019-04-27 20:54:10 · 265 阅读 · 0 评论 -
【Spring Boot】——集成JSON工具
前言:json是现在非常流程的数据交换格式,所以对于被开发人员来说如何更好了解java对象和json格式之间的转换是至关重要的,接下来我们来好好说一说。一、什么是JSON(摘自百度百科)JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语...原创 2019-05-01 15:47:09 · 1449 阅读 · 0 评论 -
【Spring MVC】——@ModelAttribute使用
在Spring mvc中,注解@ModelAttribute是一个非常常用的注解,其功能主要在两方面:运用在参数上,会将客户端传递过来的参数按名称注入到指定对象中,并且会将这个对象自动加入ModelMap中,便于View层使用; 运用在方法上,会在每一个@RequestMapping标注的方法前执行,如果有返回值,则自动将该返回值加入到ModelMap中;一般开发中,第一种用法居多,本次我...转载 2019-05-10 19:58:32 · 264 阅读 · 0 评论 -
【Spring】——前言
一、背景一般的程序员到了三年的时间就会出现迷茫(像我这样的一般人,大牛可以自动绕开),开始焦虑,不知所措,同时又很慌张,因为有一种危机感,你会发现你所做的事一般刚出来的大学生或者是刚刚培训出来的也能做,而且可能比你做的还好,比你年轻还能够熬夜,要的工资还低,这个时候你的价值在哪里,你怎么样突出自己的优势,是经验吗?是技术吗?或者是吹牛的本事吗?我自己的答案是技术深度,所谓知其然,还要知其所以然...原创 2019-03-20 19:19:30 · 134 阅读 · 0 评论