![](https://img-blog.csdnimg.cn/20200629190336940.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
spring
spring积累
来点淦货
见贤思齐焉,见不贤而内自省也。
展开
-
结合“Ribbon负载均衡算法“底层思想来手写一个负载均衡算法例子
Ribbon负载均衡算法1、原理接口请求的请求次数 % 服务器集群总数量 = 实际调用服务器位置下标(也就是当前获得的服务器),每次服务器重启之后请求接口记数重新从1开始。(参照下图理解)2、自己动手写一个本地的负载均衡算法a)首先创建一个负载均衡的接口(LoadBalancer)public interface LoadBalancer { ServiceInstance instances(List<ServiceInstance> serviceInstances)原创 2020-07-18 22:58:37 · 311 阅读 · 1 评论 -
Eureka(服务注册与发现)简单入门
Eureka(服务注册的与发现)一、Eureka基础知识 1、服务治理是什么? SpringCloud底层封装了Netflix公司开发的Eureka模块来实现服务治理。在传统的RPC远程调用框架中,管理每个服务与服务之间依赖关系比较复杂,因此需要使用服务治理。管理服务于服务之间依赖关系,可以实现服务调用、负载均衡、容错等实现服务发现与注册 2、服务注册与发现是什么? Eureka采用了CS的设计架构,Eureka Server作为服务注册功能的服务器,它是服务注册中心。而系统中的其他服务,原创 2020-07-18 15:54:12 · 1103 阅读 · 0 评论 -
SpringBoot中如何实现自己定制错误返回页面
定制异常处理返回错误页面a)通过ErrorMvcAutoConfiguration自动配置类了解异常处理原理 这个自动配置类中存在四个核心处理方法,如下: 1)ErrorPageCustomizer //第一步:系统出现错误以后来到error请求进行处理private static class ErrorPageCustomizer implements ErrorPageRegistrar, Ordered { private final ServerProperties proper原创 2020-07-12 11:21:09 · 2817 阅读 · 0 评论 -
SpringBoot深入浅出刨析底层自动装配原理
SpringBoot深入浅出刨析底层自动装配原理在大部分的情况下,Spring Boot允许通过配置文件自动装配Bean。那是因为它依赖spring-boot-starter-web包,于是会引入spring-boot-starters包,进而引入spring-boot-autoconfigure包。这个包会提供自动配置的功能,有关自动配置的类很多 a)SpringBoot启动的时候加载主配置类,利用==@EnableAutoConfiguration==注解开启了自动配置功能 b)利用Ena原创 2020-07-11 17:40:26 · 1059 阅读 · 0 评论 -
SpringBoot配置文件基本配置介绍
SpringBoot之配置文件一、配置文件a)基本介绍 ① SpringBoot使用的是一个全局的配置文件,配置文件名是固定的:application.properies;application.yml ② 配置文件的作用是可修改springBoot自动配置的默认值(SpringBoot在底层都给我们自动配置好了)二、YAMLa)基本介绍YAML 是 “YAML Ain’t a Markup Language”(YAML 不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的原创 2020-07-06 21:48:54 · 1044 阅读 · 0 评论 -
五分钟带你快速入门Spring Boot
带你快速入门Spring Boot1、简介 a)简化spring应用开发的框架;b)整个spring技术栈的一个大整合;c)J2EE开发的一站式解决方案; 优点:1、快速创建独立运行的spring项目以及与主流框架集成 2、使用嵌入式的servlet容器,应用无需打成war包 3、starters自动依赖与版本控制 4、大量的自动配置,简化开发,也可修改默认值 5、无序配置XML,无代码生成,开箱即用 6、准生产环境的运行时应用监控 7、与云计算的天然集成2、搭原创 2020-07-05 16:12:48 · 1273 阅读 · 2 评论 -
Spring5框架新功能(通用日志、函数式表达式、webflux、响应式编程)
Spring5 框架新功能 整个 Spring5 框架的代码基于 Java8,运行时兼容 JDK9,许多不建议使用的类和方法在代码库中删除了。1、Spring 5.0 框架自带了通用的日志封装 (1)Spring5 已经移除 Log4jConfigListener,官方建议使用 Log4j2 (2)Spring5 框架整合 Log4j2 第一步 引入 jar 包 第二步 创建 log4j2.xml 配置文件<?xml version="1.0" encoding="UT原创 2020-07-04 11:00:08 · 2113 阅读 · 3 评论 -
Spring中事务的使用与配置
Spring——事务操作1、事务概念 a)什么是事务 (1)事务是数据库操作最基本单元,逻辑上一组操作,要么都成功,如果有一个失败所有操 作都失败 (2)典型场景:银行转账 张三 转账 100 元 给 李四; 张三少 100,李四多 100 b)事务四个特性(ACID) (1)原子性 (2)一致性 (3)隔离性 (4)持久性2、事务操作(模拟事务操作环境) a)创建 service,搭建 dao,完成对象创建和注入关系//(1)service 注入 dao,在 dao 注原创 2020-07-03 12:02:44 · 5223 阅读 · 0 评论 -
在spring中使用JdbcTemplate进行数据库管理操作
JdbcTemplate1、JdbcTemplate概念及使用 a)Spring 框架对 JDBC 进行封装,使用 JdbcTemplate 方便实现对数据库操作 b)引入相关 jar 包 c)在 spring 配置文件配置数据库连接池<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close"> <property name="url" va原创 2020-07-02 20:06:10 · 14521 阅读 · 7 评论 -
Spring-AOP概念及使用教程
Spring-AOP1、AOP 基本概念 (1)面向切面编程(方面),利用 AOP 可以对业务逻辑的各个部分进行隔离,从而使得 业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。 (2)通俗描述:不通过修改源代码方式,在主干功能里面添加新功能 (3)使用登录例子说明 AOP2、AOP(底层原理) a)AOP 底层使用动态代理 ,动态代理有两种情况:第一种 有接口情况,使用 JDK 动态代理 ;创建接口实现类代理对象,增强类的方法第二种 没有接口情况原创 2020-07-02 13:52:25 · 16812 阅读 · 1 评论 -
spring IOC容器 Bean 管理——基于注解方式
IOC 操作 Bean 管理(基于注解方式) 1、什么是注解 (1)注解是代码特殊标记,格式:@注解名称(属性名称=属性值, 属性名称=属性值…) (2)使用注解,注解作用在类上面,方法上面,属性上面 (3)使用注解目的:简化 xml 配置 2、Spring 针对 Bean 管理中创建对象提供注解 下面四个注解功能是一样的,都可以用来创建 bean 实例 (1)@Component (2)@Service (3)@Controller (4)@Repository原创 2020-07-01 20:17:49 · 17341 阅读 · 7 评论 -
Spring IOC容器-Bean管理——基于XML方式(续集)
Spring IOC容器-Bean管理——基于XML(续集) 1、IOC 操作 Bean 管理(FactoryBean) 1、Spring 有两种类型 bean,一种普通 bean,另外一种工厂 bean(FactoryBean) 2、普通 bean:在配置文件中定义 bean 类型就是返回类型 3、工厂 bean:在配置文件定义 bean 类型可以和返回类型不一样 第一步 创建类,让这个类作为工厂 bean,实现接口 FactoryBean 第二步 实现接口里面的方法,在实现的方法原创 2020-07-01 16:49:58 · 19517 阅读 · 3 评论 -
spring IOC容器管理必须知道这些操作——基于XML方式
Spring——IOC(控制反转)一、IOC容器 1、什么是IOC(控制反转) a)把对象创建和对象之间的调用过程,交给Spring进行管理 b)使用IOC目的:为了降低耦合度 2、IOC底层 a)xml解析、工厂模式、反射 3、Spring提供的IOC容器实现的两种方式(两个接口) a)BeanFactory接口:IOC容器基本实现是Spring内部接口的使用接口,不提供给开发人员进行使用(加载配置文件时候不会创建对象,在获取对象时才会创建对象。) b)App原创 2020-07-01 11:07:59 · 53256 阅读 · 21 评论 -
spring核心思想之IOC深入浅出介绍
spring核心思想之IOC深入浅出介绍一.依赖倒置原则要了解控制反转( Inversion of Control ), 我觉得有必要先了解软件设计的一个重要思想:依赖倒置原则(Dependency Inversion Principle )。什么是依赖倒置原则?假设我们设计一辆汽车:先设计轮子,然后根据轮子大小设计底盘,接着根据底盘设计车身,最后根据车身设计好整个汽车。这里就出现了一个“依赖”关系:汽车依赖车身,车身依赖底盘,底盘依赖轮子。这样的设计看起来没问题,但是可维护性却很低。假设设计完工之转载 2020-05-30 15:39:12 · 1233 阅读 · 0 评论 -
关于事务的四大特性你需要了解清楚
事务四大特性为什么要用事务 使用事务可以保证数据的一致性和完整性,不会出现数据错误或异常。比如银行转账问题,A往B账户转账1000元,需要三步:1、A往账户B转账1000元 2、A账户余额扣除1000元 3、B账户增加1000元。 整个转账业务必须经过这三步才成立,少哪一步都不行。假设只执行了前两步,那么整个业务就失败(出现数据不一致错误/异常),因而使用一个事务将这三步操作进行控制,可保证数据的一致性和完整性。四大特性 ACID(Atomicity:原子性;Consistency:一致原创 2020-05-26 23:42:50 · 2458 阅读 · 3 评论 -
Spring框架中@Resource和@Autowired区别介绍
@Resource和@Autowired都是做bean的注入时使用 ,其实@Resource并不是Spring的注解,它的包是javax.annotation.Resource,需要导入,但是Spring支持该注解的注入。1、共同点两者都可以写在字段和setter方法上。两者如果都写在字段上,那么就不需要再写setter方法。2、不同点(1)@Autowired@Autowired为S...转载 2020-03-20 11:33:47 · 342 阅读 · 1 评论 -
Spring-MultipartResolver用法及源码分析
MultipartResolver 用于处理文件上传,当收到请求时 DispatcherServlet 的 checkMultipart() 方法会调用 MultipartResolver 的 isMultipart() 方法判断请求中是否包含文件。如果请求数据中包含文件,则调用 MultipartResolver 的 resolveMultipart() 方法对请求的数据进行解析,然后将文件数据...转载 2020-03-13 10:41:56 · 572 阅读 · 0 评论 -
@RestController和@Controller的区别?
知识点:@RestController注解相当于@ResponseBody + @Controller合在一起的作用。如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,或者html,配置的视图解析器 InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。如果需要返回到指...转载 2020-03-05 20:28:11 · 338 阅读 · 0 评论