- 博客(25)
- 资源 (2)
- 收藏
- 关注
原创 AOP执行流程过程分析
相关代码切面类,声明了一个切点在 PrintService的所有方法,四个通知,每种通知对应一种Advice,Advice的抽象在 org.springframework.aop.aspectj.AbstractAspectJAdvice,每个子类是每种注解的具体实现package com.wdg.aop;import lombok.extern.slf4j.Slf4j;import org.aspectj.lang.annotation.*;import org.springframewo
2020-08-28 14:59:26
580
原创 Spring容器启动加载配置类扫描Bean源码流程解析
Spring容器启动加载配置类扫描Bean源码流程解析代码启动类配置类先看AnnotationConfigApplicationContext 类图invokeBeanFactoryPostProcessors( ConfigurableListableBeanFactory beanFactory, List beanFactoryPostProcessors)方法invokeBeanDefinitionRegistryPostProcessorspostProcessBeanDefinitionRegi
2020-08-03 17:51:40
628
原创 Unable to locate Spring NamespaceHandler for XML schema namespace
Exception in thread "main" org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://du...
2019-07-30 23:50:03
363
原创 Docker&k8s 笔记
什么是软件架构?软件架构是在软件的内部,经过综合各种因素的考量、权衡,选择特定的技术,将系统划分成不同的部分并使这些部分相互分工,彼此协作,为用户提供需要的价值。MVC解决了代码的调用杂乱无章,通过在各层之间定义接口,接口和实现隔离。Dubbo前端和后端 物理隔离、分布维护什么是单一架构功能、业务集中在一个发布包里,部署运行在同一个进程中的应用。优势:易于开发,易于测试,易于...
2019-07-30 22:48:10
168
转载 MySQL中的锁(表锁、行锁,共享锁,排它锁,间隙锁)
文章转载: https://blog.youkuaiyun.com/soonfly/article/details/70238902锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的 计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一 个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从...
2019-06-05 15:02:49
121
转载 深入理解Eureka之源码解析
转载请标明出处:https://blog.youkuaiyun.com/forezp/article/details/73017664本文出自方志朋的博客出自方志朋的博客 Eureka的一些概念Register:服务注册当Eureka客户端向Eureka Server注册时,它提供自身的元数据,比如IP地址、端口,运行状况指示符URL,主页等。Renew:服务续约Eurek...
2019-04-29 12:35:11
195
原创 Spring Cloud 入门篇(二)服务调用 Feign与Ribbon
实习闲暇时间杂记一手,简单记录下微服务之间的调用过程,两种调用方式:Feign 过程调用和RestTemleate + Ribbon调用方式 。Feign介绍:feign是一个声明性Web服务客户机。它使编写Web服务客户机更加容易。要使用佯装,请创建一个接口并对其进行注释。它具有可插入的注释支持,包括外部注释和JAX-RS注释。Feign还支持可插拔的编码器和解码器。SpringC...
2019-04-26 16:12:08
468
原创 Spring Boot运行加载流程
1、启动类判空2、判断是否是web环境3、加载所有classpath下面的 META-INF/spring.factories文件 --ApplicationContextInitializer4、加载所有classpath下面的 META-INF/spring.factories文件 --ApplicationListener5、开始执行run方法6、设置系统...
2019-03-02 17:24:13
1287
原创 Spring Cloud 入门篇(一)、Eureka组件
Spring Cloud是一个基于Spring Boot实现的云应用开发工具;Spring Boot专 注于快速、方便集成的单个微服务个体,Spring Cloud关注全局的服务治理框架; Spring Boot使用了默认大于配置的理念,很多集成方案已经帮你选择好了,能不配置就 不配置,Spring Cloud很大的一部分是基于Spring Boot来实现,所以使用Spring Cloud必须要以...
2019-02-17 12:57:54
292
原创 学习笔记(十二)、Spring Boot中拦截器的使用
项目运行后,用户进行访问或者管理员在后台进行操作时,通常需要认证角色权限,认证成功后方可进行下面的操作,比如删除用户信息,作为用户是不能操作该项功能的等等还有其他场景,认证角色权限的代码是重复的且是必须的,此时可以通过拦截器在操作执行前进行鉴权,减少冗余操作。本文代码基于上一篇笔记:https://blog.youkuaiyun.com/wdg2333/article/details/87460516...
2019-02-16 20:38:27
191
原创 学习笔记(十一)、BCrypt密码加密
日常项目中用户注册信息入库时密码要对其进行加密操作,保障用户信息安全。下面记录Spring Boot整合Spring Security进行BCrypt密码加密。一、创建一个Spring Boot项目,需要web支持,mysql数据库,jpa和security依赖如下:<?xml version="1.0" encoding="UTF-8"?><project xmln...
2019-02-16 18:47:29
461
原创 学习笔记(十)、消息中间件RabbitMQ
消息队列中间件消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量 削锋等问题实现高性能,高可用,可伸缩和最终一致性架构RabbitMQ简介RabbitMQ 是一个由 Erlang 语言开发的 AMQP 的开源实现。 AMQP :Advanced Message Queue,高级消息队列协议。它是应用层协议的一个开放标准,为面向消息的中间件设计,基于此协议的客户端与...
2019-02-15 21:04:19
316
2
原创 学习笔记(九)、Spring Boot整合 Dubbo操作使用
上节给出在传统Spring 项目中使用Dubbo + Zookeeper 搭建简单RPC程序,这次记录下Spring Boot中整合Dubbo使用一、创建服务提供者boot项目,boot-rpc-provide:pom.xml:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.ap...
2019-02-14 20:30:53
193
原创 学习笔记(八)、Dubbo+Zookeeper 搭建简单的RPC调用程序
1、RPC简介RPC【Remote Procedure Call】是指远程过程调用,是一种进程间通信方式,他是一种技术的思想,而不是规范。它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数,而不用程序员显式编码这个远程调用的细节。即程序员无论是调用本地的还是远程的函数,本质上编写的调用代码基本相同。2、DubboApache Dubbo (incubating) ...
2019-02-14 18:05:13
280
原创 学习笔记(七)、Git基本命令行操作
Git安装可以去https://git-scm.com/downloads 下载对应系统版本即可。Base命令 右键点击 Git Bash 进去命令界面 创建本地库文件夹:mkdir [文件名]本地库初始化: git init 设置签名本地库的name 和email与 GitHub的username 和email 没有关联项目级别/仓库级别:仅在当前本地库范围内...
2019-02-13 18:52:35
170
原创 学习笔记(六)、ElasticSearch 可视化工具Head安装使用
上节都是通过rest请求的方式使用Elasticsearch,未免太过麻烦,而且也不够人性化。我们一般都会使用图形化界面来实现Elasticsearch的日常管理,最常用的就是Head插件1、下载插件https://github.com/mobz/elasticsearch-head,解压到任意目录,但是要和elasticsearch的安装目录区别开。2、安装Node.js简单的说...
2019-02-11 10:52:00
495
原创 学习笔记(五)、ElasticSearch入门
1、ElasticSearch简介:Elasticsearch 是一个开源的搜索引擎,建立在一个全文搜索引擎库 Apache Lucene™ 基础之上。 Lucene 可以说是当下最先进、高性能、全功能的搜索引擎库--无论是开源还是私有。但是 Lucene 仅仅只是一个库。为了充分发挥其功能,你需要使用 Java 并将 Lucene 直接集成到应用程序中。 更糟糕的是,您可能需要获得信息检...
2019-02-11 10:05:12
199
原创 学习笔记(三)、Spring Data Redis
本文介绍Spring Boot 整合Spring Data Redis的简单使用。一、概要:Spring Data Redis是Spring大家族的一部分,提供了在Srping应用中通过简单的配置访问redis服务,对reids底层开发包(Jedis, JRedis, and RJC)进行了高度封装,RedisTemplate提供了redis各种操作、异常处理及序列化,支持发布订阅,并对...
2019-02-05 18:58:54
274
原创 学习笔记(二)、 Spring Boot中使用全局异常处理器
现在的开发模式倾向于前后端分离,当服务器或业务服务出现异常时,后端开发人员要友好的返回对应的错误代码和异常信息给前端,本文针对上节的代码进行整改。上篇笔记:https://blog.youkuaiyun.com/wdg2333/article/details/86764380一、自定义业务异常 BussinessException.java:package com.wdg.springdataj...
2019-02-05 10:08:35
194
1
原创 学习笔记(一)、Spring Data JPA
近日学习了Spring Data系列,自己记录一下。一、Spring Data JPA介绍Spring Data JPA 是 Spring 基于 ORM 框架、JPA 规范的基础上封装的一套JPA应用框架,可使开发者用极简的代码即可实现对数据的访问和操作。它提供了包括增删改查等在内的常用功能,且易于扩展!学习并使用 Spring Data JPA 可以极大提高开发效率!官方文档:htt...
2019-02-04 22:37:07
270
原创 SpringBoot 知识笔记
一、启动SpringBoot应用的三种方式:1.编辑器Run启动2.进入项目目录:mvn spring-boot:run3.进入项目目录 : mvn install 编译项目,进入target目录,运行命令java -jar [编译好的jar文件]二、属性配置: 1.@Value 2.@Component 3.@ConfigurationProperties三、基于注解的...
2019-02-03 11:06:53
240
原创 Java 中Lambda表达式基本用法
JDK8引入的Lambda表达式在简化程序代码方面大显身手,在程序遍历访问集合中元素的场合,运用Lambda表达式可以大大简化操纵集合的程序代码。他本质只是一颗让编程人员更加得心用手的“语法糖”。下面引入实例介绍Lambda的应用场景:1、Lambda表达式的基本用法(遍历访问List列表) List<String> list = new ArrayList&l...
2019-01-07 14:10:29
2172
原创 Spring Boot 整合MyBatis以及Mapper自动生成PageHelper分页插件使用
这两天学习了SpringBoot 与 Mybatis的整合 自己总结记录一下1.创建一个空的SpringBoot项目,添加依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring...
2018-12-28 11:58:34
401
原创 Spring Security入门小Demo
今天学习了Spring Security 安全控制框架,总结一个入门小Demo。一、Spring Security简介 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:...
2018-08-17 10:43:13
555
spring-data-redis-1.8.1.RELEASE-sources.jar(源码)
2018-07-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人