![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring
文章平均质量分 57
AI掘金
【履历】:电子科技大学,系统架构师,10年互联网金融研发、架构经验,互联网大厂全球业务xx板块研发团队负责人
【成就】:完成某独角兽公司支付系统迁移,重构某大厂履约体系,0-1建设某大厂全球合规运营架构
展开
-
spring项目初始化的时候加载配置文件到容器中
一、背景项目中经常会添加一些properties配置文件,我们可以每次通过IO读取,但是每次都创建IO比较耗费资源, 最好的方式是,项目启动的时候,我们将配置文件加载到一个类中, 然后将类放到spring容器中, 这样我们就可以通过注入相应的配置类拿到,配置的参数。二、代码@Componentpublic class SystemConfig { @Autowired p...原创 2018-11-05 00:03:48 · 4916 阅读 · 1 评论 -
Intellij IDEA创建springMVC项目(非maven项目)
一、背景描述在日常中, 经常需要创建简单的spring mvc实现一些小的业务逻辑,比如:接点小私活,养家糊口。二、环境intellij IDEA 2017 CIJDK 1.8tomcat 8.5.23三、过程3.1 新建项目勾选Spring MVC 、Web Application(勾选了Spring MVC后IDEA默认会勾选Web Application),Next3.2...转载 2018-11-04 23:57:50 · 3577 阅读 · 2 评论 -
SpringMVC中使用Interceptor拦截器
一、使用场景SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理。比如通过它来进行权限验证,或者是来判断用户是否登陆,或者是像12306 那样子判断当前时间是否是购票时间。我在项目里面主要是统一对http请求进行打日志。二、Interceptor介绍在SpringMVC 中定义一个Interceptor是比较非常简单,主...转载 2018-11-02 09:19:31 · 406 阅读 · 0 评论 -
手动实现服务熔断功能
在我们分布式系统中, 经常会用用到 Hystrix 、Resilience4j 等主流服务熔断器,平时使用得非常熟悉,但是否有想过,自己手动实现一个,熔断器呢 ?今天我们就以前来基于Spring AOP实现一个服务熔断器。一、熔断器概念在断路器对象中封装受保护的⽅法调⽤;该对象监控调⽤和断路情况;调⽤失败触发阈值后,后续调⽤直接由断路器返回错误,不再执⾏实际调⽤;下图为熔断器的工作原...原创 2019-07-13 22:41:33 · 1282 阅读 · 0 评论 -
consul作为SpringCloud注册中心
一、consul 简介Consul是一种服务发现和配置工具。Consul具有分布式,高可用性和极高的可扩展性。服务发现 - 使用简单的服务来注册自己并通过DNS或HTTP接口发现其他服务。也可以注册SaaS提供商等外部服务。运行状况检查 - 运行状况检查使Consul能够快速向运营商发出有关群集中任何问题的警报与服务发现的集成可防止将流量路由到不健康的主机,并启用服务级别的断路器。密钥...原创 2019-07-10 20:59:24 · 398 阅读 · 0 评论 -
什么是ActiveMQ?
一、官方简介Apache ActiveMQ™是最流行的开源,多协议,基于Java的消息服务器。它支持行业标准协议,因此用户可以通过广泛的语言和平台获得客户选择的好处。可以使用C,C ++,Python,.Net等连接。使用无处不在的AMQP协议集成您的多平台应用程序。使用STOMP通过websockets 在Web应用程序之间交换消息官网:http://activemq.apache.org/...转载 2019-07-17 00:36:47 · 10525 阅读 · 0 评论 -
可执行jar黑科技解剖
一、常规服务启动方式在java领域需要启动一个服务主要有三种方式1)单独运行servlet 容器,如Tomcat,Jboss 等2)war包中自带Jetty容器,通过java 命令运行3)通过Maven打一个可执行的jar执行运行这三种运行服务的方式都需要jdk环境支持,今天主要来研究一下 通过Maven打一个可执行的jar运行服务。二、只执行jar的运行原理在Maven的pom文件...原创 2019-07-04 20:59:59 · 213 阅读 · 0 评论 -
SpringMVC拦截器Interceptor
一、Interceptor定义SpringMVC拦截器(Interceptor)实现对每一个请求处理前后进行相关的业务处理,类似与servlet中的Filter。SpringMVC 中的Interceptor 拦截请求是通过HandlerInterceptor来实现的。在SpringMVC中定义一个Interceptor非常简单,主要有4种方式:1)实现Spring的HandlerInte...转载 2019-06-23 20:49:56 · 1058 阅读 · 0 评论 -
Spring AOP
一、Spring AOP 的一些核心概念概念含义备注Aspect切面Join Point连接点,Spring AOP里总代表一次方法执行Advice通知,在连接点执行的动作Pointcut切入点,说明如何匹配连接点Introduction引入,为现有的类型声明额外的方法和属性Target object目标对象AOP...原创 2019-06-18 16:35:04 · 133 阅读 · 0 评论 -
Spring两种动态代理:Jdk和Cglib 的区别和实现
一、原理区别:java动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。而cglib动态代理是利用asm开源包,对代理对象类的class文件加载进来,通过修改其字节码生成子类来处理。1、如果目标对象实现了接口,默认情况下会采用JDK的动态代理实现AOP2、如果目标对象实现了接口,可以强制使用CGLIB实现AOP3、如果目标对象没有实...转载 2019-06-18 14:54:25 · 1006 阅读 · 0 评论 -
Springboot的缓存抽象
在Springboot中支持基于注解方式,实现缓存,这简化了缓存的使用,且可以支持多种缓存模式:ConcurrentMap、EhCache、Caffeine、JCache(JSR-107)一、主要注解@EenableCacheing开启缓存支持@CacheEvict缓存清理@CachePut缓存设置@Caching可以对缓存清理、设置 等操作打包@CacheConfig缓存设...原创 2019-06-16 21:13:52 · 327 阅读 · 0 评论 -
spring官网页面搭建项目骨架
1、请求页面地址:https://start.spring.io/2、设置maven信息3、选择项目涉及的组件1)spring已经打包好的主键组合例如:Web2)也可以选择组件详情4、生成项目5、总结以前搭建一个项目要配置n多文件,才发现如此简单就搞定了一个项目的骨架。...原创 2019-02-21 00:53:41 · 642 阅读 · 0 评论 -
Spring事务传播特性图
默认是:PROPAGATION_REQUIRED原创 2019-02-24 00:30:43 · 225 阅读 · 0 评论 -
@Controller和@RestController的区别?
1)@RestController注解相当于@ResponseBody + @Controller合在一起的作用2)@RestController注解,相当于@Controller+@ResponseBody两个注解的结合,返回json数据不需要在方法前面加@ResponseBody注解了,但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,h...原创 2019-02-23 19:11:38 · 74 阅读 · 0 评论