
Spring
文章平均质量分 90
第二颗大白菜
每天写点什么,不是为了得到一些什么,也不是向谁证明一些什么,更不是为了存在感,而是让自己知道每天都做了些什么。
展开
-
三级缓存(不是CPU的概念,而是一种技术上逻辑容错处理方案)
三级缓存(不是CPU的概念,而是一种技术上逻辑容错处理方案)相信硬件出生的同学,对这个一眼就认为是CPU的三级缓存。百科上解释的三级缓存三级缓存是为读取二级缓存后未命中的数据设计的—种缓存,在拥有三级缓存的CPU中,只有约5%的数据需要从内存中调用,这进一步提高了CPU的效率。其运作原理在于使用较快速的储存装置保留一份从慢速储存装置中所读取数据且进行拷贝,当有需要再从较慢的储存体中读写数据时,缓存(cache)能够使得读写的动作先在快速的装置上完成,如此会使系统的响应较为快速。它这个三.原创 2021-02-10 17:12:01 · 3497 阅读 · 0 评论 -
今天来讲讲分布式环境下,怎么达到对象共享,以及实现原子性(atomic),以Redis中的Redisson为例(实现分布式锁、分布式限流等)
相信各位对redis肯定是不陌生的,一个高吞吐量的内存型结构存储数据库。可用用于很多业务场景,能够有效的解决很多复杂的并发问题,分布式问题。下面粘一下中文官网介绍:关于解决对象共享问题,很多方式,通过一般的关系型数据库就可以(mysql),但是相较而言,mysql关系型数据库和nosql数据库,两者读写效率也是不一样的,一个在硬盘上工作,一个在内存上工作,此就是差距;频繁的IO操作,大大降低了CPU性能;redis采用cache。完全不一样的性能。用一组数据对比:redis读写能力.原创 2020-07-30 10:09:40 · 2688 阅读 · 0 评论 -
关于使用@Autowired竟然报NPE
在项目测试的时候,竟然发现报空指针了!!!!这么低级的异常!!!!!!!!!!赶紧走查代码,,发现注入对象竟然是个NULL,然后以为是很低级的错误没有声明@Service ??结果发现没有漏。那为什么还是null呢???然后发现这个使用的类DeleteAction是直接new出来的,这这这这,直接new的,不属于spirng容器,你还直接注入spring容器...原创 2020-02-27 14:12:11 · 2124 阅读 · 0 评论 -
使用mysql查询:报错java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Long
使用spring jpa 查询long类型数据,但是报上述错误。直接使用List<BigInteger>接受结果集,然后通过BigInteger.longValue()比较Long数据类型就可以了。当然网上有很多方案,比如升级mysql依赖的版本,但是本项目的mysql jar版本挺高的。那么我就依着错误提示的改动了。...原创 2020-02-19 22:04:45 · 4319 阅读 · 1 评论 -
Bean with name 'xxxxxx' has been injected into other beans
首先说一下什么是依赖循环,比如:我现在有一个ServiceA需要调用ServiceB的方法,那么ServiceA就依赖于ServiceB,那在ServiceB中再调用ServiceA的方法,就形成了循环依赖。Spring在初始化bean的时候就不知道先初始化哪个bean就会报错。publicclassClassA{@AutowiredClassBclassB;} public...原创 2020-01-28 09:50:41 · 6440 阅读 · 0 评论 -
深夜爬坑 springboot @Async 无效
今天在自己的项目上使用@Async,想异步执行一下该方法,发现无效! 最开始使用Springboot ,发现加上注解@Async后没有效果, 然后问了一下度娘,才知道需要三步配置. 1.在@SpringBootApplication启动类 添加注解@EnableAsync 2.异步方法使用注解@Async ,返回值为void或者Future 3.异步方法...原创 2020-01-27 22:34:19 · 2350 阅读 · 0 评论 -
注解方式能注解在private修饰的方法上吗?
虽然 @Transactional 注解可以作用于接口、接口方法、类以及类方法上,但是 Spring 建议不要在接口或者接口方法上使用该注解,因为这只有在使用基于接口的代理时它才会生效。另外, @Transactional 注解应该只被应用到 public 方法上,这是由 Spring AOP 的本质决定的。如果你在 protected、private 或者默认可见性的方法上使用 @Trans...原创 2020-01-02 10:05:57 · 5931 阅读 · 0 评论 -
关于如何动态手动注入Spring容器中bean对象(代码实现)
一、需求产生原因:通过修改Spring容器中对象中某个属性,该对象被spring其他服务调用,可以动态实现调用方实现不同的业务逻辑。二、涉及spring相关对象:DefaultListableBeanFactory:IOC容器始祖默认实现了ListableBeanFactory和BeanDefinitionRegistry接口,基于bean definition对象,是一个成熟...原创 2019-12-12 17:25:20 · 4022 阅读 · 0 评论 -
跨域解决方案(Spring项目)
1.注入配置文件@Configurationpublic class CorsConfig { private CorsConfiguration buildConfig() { CorsConfiguration corsConfiguration = new CorsConfiguration(); // 1允许任何域名使用 co...原创 2019-11-11 15:17:31 · 2170 阅读 · 0 评论 -
Spring框架中Bean的作用域
1、作用域scope配置项作用域限定了Spring Bean的作用范围,在Spring配置文件定义Bean时,通过声明scope配置项,可以灵活定义Bean的作用范围。例如,当你希望每次IOC容器返回的Bean是同一个实例时,可以设置scope为singleton;当你希望每次IOC容器返回的Bean实例是一个新的实例时,可以设置scope为prototype。scope配置项有5个属性,...转载 2019-10-19 12:25:57 · 2245 阅读 · 0 评论 -
什么是JavaConfig?
Spring JavaConfig是Spring社区的产品,他提供了配置Spring IOC容器的纯Java方法。因此它有助于避免使用XML配置。使用JavaCofig的优点在于:1.面向对象的配置。由于配置被定义为JavaConfig中的类,因此用户可以充分使用Java中的面向对象功能。一个配置类可以继承另一个,重写它的@Bean方法等。2.减少或者消除XML配置。基于依赖注入原则的外化...原创 2019-10-08 15:13:02 · 5317 阅读 · 0 评论 -
Spring如何解决循环依赖问题
现象:循环依赖其实就是循环引用,也就是两个或者两个以上的bean互相持有对方,最终形成闭环。比如A依赖于B,B依赖于C,C又依赖于A。如何理解依赖?在spring中有:(1)构造器循环依赖:结果:项目启动失败,发现了一个cycle@Servicepublic class A { public A(B b) { }}@Servicepublic c...原创 2019-10-08 14:24:21 · 2441 阅读 · 0 评论 -
谈对Spring框架的大策大悟
套用百度百科的:Spring框架Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。◆目的:解决企业应用开发的复杂性◆功能:使用基本的JavaBean代替EJB,并提供了更多的企...原创 2019-02-23 21:53:48 · 3448 阅读 · 0 评论 -
开放源代码的设计层面框架Spring——day04
spring第四天 一、Spirng中的JdbcTemplate 1.1JbdcTemplate概述 他是spring框架中提供的一个对象,是对原始JdbcAPI对象的简单封装。spring框架为我们提供了很多的操作模板类,如下: ORM持久化技术 模板类 JDB...原创 2018-11-17 14:51:58 · 2617 阅读 · 0 评论 -
开源顶级持久层框架——mybatis(ibatis)——day02
mybatis第二天 高级映射 查询缓存 和spring整合 课程复习: mybatis是什么? mybatis是一个持久层框架,mybatis是一个不完全的ORM框架。SQL语句需要程序员自己去编写,但是mybatis也有映射(输入参数映射、输出结果映射)。 mybatis入门门槛不高,学习成本低,让程序员把精力放在sql语...原创 2018-11-20 14:57:15 · 2609 阅读 · 0 评论 -
开放源代码的设计层面框架Spring——day02
spring第二天 一、基于注解的IOC配置 1.1写在最前 学习基于注解的IOC配置,大家脑海里首先得有一个认知,即注解配置和xml配置要实现的功能是一样的,都是降低程序间的耦合。只是配置的形式不一样。 关于实际的开发中到底使用xml还是注解,每家公司有着不同的使用习惯。所以这两种配置方式我们都需要掌握。 ...原创 2018-11-02 15:36:39 · 2804 阅读 · 0 评论 -
开放源代码的设计层面框架Spring——day03
spring第三天 一、AOP的相关概念 1.1AOP概述 1.1.1什么是AOP AOP:全称是Aspext Oriented Programming即:面向切面编程。 简单的说它就是我们程序重复的代码抽取出来,在需要执行的时候,使用动态代理的技术,在不修改源码的基础上,对我们的已有...原创 2018-11-06 12:58:07 · 2630 阅读 · 0 评论 -
开放源代码的设计层面框架Spring——day01
spring第一天 一、Spring概述 1.1spring概述 1.1.1spring介绍 Spring是分层的Java SE/EE应用full-stack轻量级开源框架,以IOC(Inverse Of Control:反转控制)和AOP(Aspect Oriented Programming:面向切面编程)为内核,...原创 2018-10-25 09:06:28 · 2962 阅读 · 0 评论