![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring
努力敲代码买猪脚啃
这个作者很懒,什么都没留下…
展开
-
ElasticSearch,docker 安装ElasticSearch,Springboot 使用 ElasticSearch JavaAPI
什么是 ElasticSearch ?数据库查询存在的问题:性能低:使用模糊查询,左边有通配符,不会走索引,会全表扫描,性能低关键字模糊查询比较麻烦ElasticSearch概念• ElasticSearch是一个基于Lucene的搜索服务器• 是一个分布式、高扩展、高实时的搜索与数据分析引擎• 基于RESTful web接口• Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎• 官网:https://www.elas原创 2020-09-06 09:43:43 · 970 阅读 · 2 评论 -
RabbitMQ,Springboot整合RabbitMQ实现 消息可靠性投递,Consumer ACK,TTL,死信队列,使用TTL+死信队列=延迟队列
搭建SpringBoot项目,用于演示springboot版本 <!-- spring boot --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId>原创 2020-09-04 20:03:39 · 1212 阅读 · 0 评论 -
RabbitMQ,RabbitMQ 的工作模式,Spring 整合 RabbitMQ,Springboot 整合RabbitMQ
什么是RabbitMQ1.1 MQ概述MQ全称 Message Queue(消息队列),是在消息的传输过程中保存消息的容器。多用于分布式系统之间进行通信。⚫ MQ,消息队列,存储消息的中间件⚫ 分布式系统通信两种方式:直接远程调用 和 借助第三方 完成间接通信⚫ 发送方称为生产者,接收方称为消费者1.2 MQ 的优势和劣势优势应用解耦:提供了程序的可扩展性 系统的耦合性越高,容错性就越低,可维护性就越低。异步提速:提高了系统的性能 提升用户体验和系统吞吐量(单位时间内处理请求的数原创 2020-09-01 23:35:08 · 344 阅读 · 0 评论 -
SpringCloud微服务架构,Config 分布式配置中心,Bus 消息总线, Stream 消息驱动,Sleuth+Zipkin 链路追踪
Config分布式配置中心Config 概述概述• Spring Cloud Config 解决了在分布式场景下多环境配置文件的管理和维护。• 好处:• 集中管理配置文件• 不同环境不同配置,动态化的配置更新• 配置信息改变时,不需要重启即可更新配置信息到服务Bus 消息总线Bus 概述• Spring Cloud Bus 是用轻量的消息中间件将分布式的节点连接起来,可以用于广播配置文件的更改或者服务的监控管理。关键的思想就是,消息总线可以为微服务做监控,也可以实现应用程序之间相通信。原创 2020-08-31 22:31:14 · 574 阅读 · 0 评论 -
SpringCloud微服务架构之,Hystrix 熔断器,Gateway 网关
Hystrix 概述Hystix 是 Netflix 开源的一个延迟和容错库,用于隔离访问远程服务、第三方库,防止出现级联失败(雪崩)。pom依耐 <!-- hystrix --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-star原创 2020-08-29 22:52:41 · 1281 阅读 · 1 评论 -
SpringCloud微服务架构,Spring Cloud 服务治理(Eureka,Consul,Nacos),Ribbon 客户端负载均衡,RestTemplate与OpenFeign实现远程调用
什么是SpringCloud微服务架构• "微服务”一词源于 Martin Fowler的名为 Microservices的博文,可以在他的官方博客上找到http://martinfowler.com/articles/microservices.html• 微服务是系统架构上的一种设计风格,它的主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间一般通过 HTTP 的 RESTfuLAPI 进行通信协作。• 被拆分成的每一个小型服务都围绕着系统中的某一项或原创 2020-08-28 23:16:02 · 437 阅读 · 0 评论 -
浅谈:Spring Boot原理分析,切换内置web服务器,SpringBoot监听项目(使用springboot-admin),将springboot的项目打成war包
浅谈:Spring Boot原理分析Condition⚫ 自定义条件:① 定义条件类:自定义类实现Condition接口,重写 matches 方法,在 matches 方法中进行逻辑判断,返回boolean值 。 matches 方法两个参数:• context:上下文对象,可以获取属性值,获取类加载器,获取BeanFactory等。• metadata:元数据对象,用于获取注解属性。② 判断条件: 在初始化Bean时,使用 @Conditional(条件类.class)注解⚫ Sprin原创 2020-08-25 20:20:09 · 369 阅读 · 0 评论 -
浅谈:MyBatis-Plus的CRUD与乐观锁,分页插件,逻辑删除
浅谈:MyBatis-Plus的CRUD与乐观锁,分页插件,逻辑删除MyBatis-Plus官方文档连接什么是MyBatis-Plus请点击上面官方文档查看代码演示:代码注释为功能详细解释数据库创建maven项目,基于springboot,mvc请参考官网pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xml原创 2020-08-11 22:15:51 · 364 阅读 · 0 评论 -
SpringSecurity的简单使用使用案列说明
SpringSecuritySpring Security是 Spring提供的安全认证服务的框架。 使用Spring Security可以帮助我们来简化认证和授权的过程。官网:https://spring.io/projects/spring-security搭建maven项目pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xml原创 2020-08-10 13:43:14 · 314 阅读 · 0 评论 -
Spring整合定时任务组件Quartz的简单使用
Quartz介绍Quartz是Job scheduling(作业调度)领域的一个开源项目,Quartz既可以单独使用也可以跟spring框架整合使用,在实际开发中一般会使用后者。使用Quartz可以开发一个或者多个定时任务,每个定时任务可以单独指定执行的时间,例如每隔1小时执行一次、每个月第一天上午10点执行一次、每个月最后一天下午5点执行一次等。官网:http://www.quartz-scheduler.org/简单使用(使用步奏与解释在代码注释中)搭建maven工程pom.xml&原创 2020-08-10 11:19:37 · 255 阅读 · 0 评论 -
SSM整合之纯注解方式,注解实现事务,异常,与拦截器
SSM整合之纯注解方式Spring,SpringMVC,Mybatis使用纯注解的方式,整合ssm,sql语句与数据表在上一篇SSM整合之XML方式中有,创建maven项目删除web.xml文件jdbc.propertiesjdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://192.168.93.132:3306/testjdbc.username=rootjdbc.password=root配置类ServletConta原创 2020-07-23 13:15:24 · 677 阅读 · 0 评论 -
SSM整合之XML方式,与配置事务,拦截器,异常处理,PageHelper分页插件整合
SSM整合之XML方式将主流的三大框架整合一起使用spring:将需要的bean交给IOC管理SpringMVC:解决表现层MyBatis:解决持久层创建maven项目(配置文件与代码中注释有详细解释)项目目录结构数据库数据准备CREATE TABLE `account` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) DEFAULT NULL, `money` double DEFAULT NULL,原创 2020-07-23 12:23:23 · 316 阅读 · 0 评论 -
SpringMVC自定义拦截器与异常处理(自定义异常)
SpringMVC自定义拦截器与异常处理拦截器概念拦截器代码演示创建maven工程pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org原创 2020-07-21 20:00:25 · 1199 阅读 · 1 评论 -
springMVC获取异步请求的参数,返回异步请求数据(json),跨域访问简单了解,文件上传,与Restful风格
springMVC获取异步请求的参数JQuery发送异步请求回顾<a href="javascript:void(0);" id="testAjax">访问controller</a><script type="text/javascript" src="/js/jquery-3.3.1.min.js"></script><script type="text/javascript"> $(function(){ $(原创 2020-07-21 18:51:27 · 727 阅读 · 0 评论 -
SpringMVC响应的方式,无数据跳转页面,带数据跳转页面.Json数据返回
SpringMVC响应的方式,无数据跳转页面,带数据跳转页面.Json数据返回页面跳转设定 //转发会把后端携带的request和Response发送到前端jsp,在jsp中可以直接使用其中的数据 //重定向相当于页面重新刷新,不能够拿到后端给的request,Response页面跳转之重定向与转发配置视图解析器在web.xml中配置视图解析器<!-- 配置视图解析器,方便访问jsp页面,并交给spring管理--> <原创 2020-07-20 19:51:53 · 1091 阅读 · 0 评论 -
SpringMVC的请求参数,类型转换器(日期格式),请求映射
SpringMVC的请求参数,类型转换器(日期格式),请求映射请求参数springMVC将传递的参数封装到处理的方法形参中,达到快速访问参数的目的普通参数类型参数名与处理器方法形参名保持一致 //地址栏传递参数name //http://localhost:82/request/str?name=小付 @RequestMapping("/str") public String test01(String name){ System.out.print原创 2020-07-20 19:29:59 · 386 阅读 · 0 评论 -
SpringMVC基础配置与简单的SpringMVC的程序
SpringMVCSpringMVC技术架构图基础配置(代码中有详细的基础配置使用的注解和标签的解释)搭建maven项目POM<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ma原创 2020-07-20 19:14:26 · 136 阅读 · 0 评论 -
Spring模板对象之RedisTemplate(Spring整合jedis)
Spring模板对象之RedisTemplate构建maven项目pom<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/原创 2020-07-18 18:51:53 · 204 阅读 · 0 评论 -
spring控制事务:声明式事务(注解)
声明式事务(注解)spring声明事务的方式,使用注解的方式@Transactional⚫ 名称:@Transactional⚫ 类型:方法注解,类注解,接口注解⚫ 位置:方法定义上方,类定义上方,接口定义上方⚫ 作用:设置当前类/接口中所有方法或具体方法开启事务,并指定相关事务属性⚫ 范例:@Transactional(readOnly = false,timeout = -1,isolation = Isolation.DEFAULT,rollbackFor = {Arithme原创 2020-07-18 18:44:43 · 1494 阅读 · 0 评论 -
spring控制事务:声明式事务(XML)事务的传播行为
声明式事务(XML)使用spring提供的专用于mybatis的事务管理器在xml中声明式事务声明式事务需要使用到的标签tx配置进行<tx 标签的使用需要倒入命名空间xmlns:tx="http://www.springframework.org/schema/tx" http://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsd< tx:attribu原创 2020-07-18 13:09:07 · 293 阅读 · 0 评论 -
spring中AOP动态代理的两种方式
AOP动态代理的两种方式Spring AOP动态代理的方式(spring的AOP默认是JDK Proxy)浅谈这两种动态代理JDK的动态代理,需要有实现接口动态代理——JDK Proxy⚫ JDKProxy动态代理是针对对象做代理,要求原始对象具有接口实现,并对接口方法进行增强在aop动态代理的时候发现这个类是实现接口的类,就选择JDK的动态代理,从ioc中获取这个动态代理的实现类就需要按照接口.class去获取CGLIB动态代理方式,继承方式动态代理——CGLIB⚫ CGLIB(Code原创 2020-07-17 20:16:19 · 1139 阅读 · 0 评论 -
spring的AOP配置之@注解方式
AOP配置(注解)spring的AOP概念在spring的AOP配置之XML方式这骗博客中详细介绍了,这篇博客就直接开始介绍AOP配置需要那些注解AOP注解详解@Aspect 标志为一个切面类⚫ 名称:@Aspect⚫ 类型:注解⚫ 位置:类定义上方⚫ 作用:设置当前类为切面类⚫ 格式:@Aspectpublic class AopAdvice {}⚫ 说明:一个beans标签中可以配置多个aop:config标签@Pointcut 使用当前方法名作为切入点引用名称⚫ 名称:原创 2020-07-17 18:34:51 · 563 阅读 · 0 评论 -
spring的AOP配置之XML方式
AOP概念⚫ AOP(Aspect Oriented Programing)面向切面编程,一种编程范式,隶属于软工范畴,指导开发者如何组织程序结构⚫ AOP弥补了OOP的不足,基于OOP基础之上进行横向开发◆ OOP规定程序开发以类为主体模型,一切围绕对象进行,完成某个任务先构建模型◆ AOP程序开发主要关注基于OOP开发中的共性功能,一切围绕共性功能进行,完成某个任务先构建可能遇到的所有共性功能(当所有功能都开发出来也就没有共性与非共性之分)⚫ “AOP联盟”AOP作用⚫ 伴随着AOP时原创 2020-07-17 13:47:06 · 250 阅读 · 0 评论 -
Spring整合Mybatis之注解方式,(注解整合Junit)
Spring整合Mybatis之注解方式我有一篇博客详细写了我自己使用xml的方法Spring整合MyBatis,现在我们就把核心配置文件中的每个bean的配置使用注解的方式实现注解整合MyBatis分析注解整合MyBatis分析⚫ 业务类使用注解形式声明bean,属性采用注解注入⚫ 建立独立的配置管理类,分类管理外部资源,根据功能进行分类,并提供对应的方法获取bean⚫ 使用注解形式启动bean扫描,加载所有注解配置的资源(bean)⚫ 使用AnnotationConfigApplicat原创 2020-07-15 20:06:36 · 797 阅读 · 3 评论 -
spring的注解开发@Component @Bean @Value @Autowired、@Qualifier @PropertySource @Configuration
spring的注解开发启动注解功能启动注解功能⚫ 启动注解扫描,加载类中配置的注解项⚫ 说明:◆ 在进行包所扫描时,会对配置的包及其子包中所有文件进行扫描◆ 扫描过程是以文件夹递归迭代的形式进行的◆ 扫描过程仅读取合法的java文件◆ 扫描时仅读取spring可识别的注解◆ 扫描结束后会将可识别的有效注解转化为spring对应的资源加入IoC容器⚫ 注意:◆ 无论是注解格式还是XML配置格式,最终都是将资源加载到IoC容器中,差别仅仅是数据读取方式不同◆ 从加载效率上来说注解优于X原创 2020-07-15 19:26:20 · 309 阅读 · 0 评论 -
Mybatis与Spring整合之配置文件方式
Mybatis与Spring整合之配置文件案例制作步骤——基础准备工作⚫ 环境准备导入Spring坐标,MyBatis坐标,MySQL坐标,Druid坐标⚫ 业务类与接口准备创建数据库表,并制作相应的实体类定义业务层接口与数据层接口在业务层调用数据层接口,并实现业务方法的调用⚫ 基础配置文件jdbc.propertiesMyBatis映射配置文件⚫ 整合前基础准备工作spring配置文件,加上context命名空间,用于加载properties文件开启加载properties文件原创 2020-07-15 13:23:24 · 346 阅读 · 0 评论 -
spring核心配置文件引入外部properties文件和另外的xml配置文件
spring核心配置文件引入外部properties文件和另外的xml配置文件为什么要引入外部文件我们使用jdbc的时候,会创建一个jdbc.properties配置文件,如果我需要在spring的IOC中存入连接池对象呢?是不是需要给链接对象的属性url username password driver ,我们应该如何在spring的配置文件中引入外部文件呢?引入properties文件⚫ Spring提供了读取外部properties文件的机制,使用读取到的数据为bean的属性赋值⚫ 操作步原创 2020-07-14 19:17:50 · 2951 阅读 · 0 评论 -
SpringIOC的依耐注入DI---set注入---constructor有参构造注入---了解P命名空间---了解SpEL
依耐注入DIDI 依耐注入 通俗来将就是给对象的成员变量(属性) 赋值依耐注入的两种方式⚫ set注入⚫ 构造器注入set注入set注入(主流)⚫ 名称:property⚫ 类型:标签⚫ 归属:bean标签⚫ 作用:使用set方法的形式为bean提供资源⚫ 格式:< bean>< property />< /bean>⚫ 基本属性:< property name=“propertyName” value=“property原创 2020-07-14 18:50:48 · 236 阅读 · 0 评论 -
SpringIOC配置文件「bean」标签的属性id class name scope init-method destroy-method factory-bean factory-method
spring引入Spring在没有使用spring的时候写代码的三层架构的时候,dao层与service紧密联系,service与controller紧密联系,在service中new的dao,在controller中new的是service,这种联系很紧密,高耦合图解spring是如何降低耦合度的原始模式在最初的代码是要使用的话,就new这个接口的实现对象,假如我们换实现类后,还需要更改源代码,这样耦合度高,加入我们项目上线后,我们要更改某个实现,需要更改源代码,需要从新编译部署运行,十分麻烦原创 2020-07-14 13:23:06 · 392 阅读 · 0 评论