
spring
文章平均质量分 69
程序员小董
毕业后先在腾讯做了近3年的kv存储引擎开发
之后在阿里做了3年多互动游戏的开发
展开
-
Mockito的@Mock与@MockBean
按照上一篇的MockitoTest运行,就会报错因为redis的host连接失败(因为我之前申请的redis已经过期了)所以不能生成RedissonClient ,然后UserController 就失败了。我所理解的区别就是@Mock生成的类和spring容器没有关系,虽然在上文PersonMapper 他也注入进了UserController。ok 上面说了那么多,终于到正题了,那就是 @MockBean和@Mock到底有什么区别。怎么办,我想到了一个我可以排除RedissonClient 呀。原创 2022-11-19 00:04:54 · 2727 阅读 · 0 评论 -
SpringBoot与mockito那点事
SpringBoot与Mockito原创 2022-11-18 21:53:15 · 852 阅读 · 0 评论 -
Spring 内部 初始化方法的执行顺序
spring 类的加载顺序原创 2022-08-22 11:48:33 · 166 阅读 · 0 评论 -
Spring 中的一些小知识点
spring的一些小知识点原创 2022-08-20 00:31:56 · 250 阅读 · 0 评论 -
Spring的事件-代码记录
首先有一个具体的事件package com.alibaba.demo.event;import org.springframework.context.ApplicationEvent;public class HelloEvent extends ApplicationEvent { private String name; public HelloEvent(Object source, String name) { super(source);原创 2021-06-23 14:29:03 · 183 阅读 · 3 评论 -
直接使用spel表达式操作AnnotationConfigApplicationContext里的对象
package com.alibaba.aop;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.EnableAspectJAutoProxy;@Configuration@ComponentScan("com").原创 2020-07-28 16:55:37 · 352 阅读 · 0 评论 -
spring的启动方式
直接在xml里面装配beanspring,我们大家最开始接触的版本,是2.x的 ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml"); UserService us = (UserService) ac.getBean("userService"); us.say...原创 2020-04-04 13:06:38 · 286 阅读 · 0 评论 -
spring揭秘 读书笔记 二 BeanFactory的对象注册与依赖绑定
本文是王福强所著>一书的读书笔记我们前面就说过,Spring的IoC容器时一个IoC Service Provider,而且IoC Service Provider提供两个功能对象的创建,依赖关系的管理。不过,IoC容器这个词中,我们还得关注容器二字。它还包含了一些别的功能,如下图Spring提供了两种类型的容器,分别是BeanFactory与ApplicationCo原创 2015-08-21 15:46:33 · 2250 阅读 · 0 评论 -
springMVC对异常处理的支持
无论做什么项目,进行异常处理都是非常有必要的,而且你不能把一些只有程序员才能看懂的错误代码抛给用户去看,所以这时候进行统一的异常处理,展现一个比较友好的错误页面就显得很有必要了。跟其他MVC框架一样,springMVC也有自己的异常处理机制。springMVC提供的异常处理主要有两种方式,一种是直接实现自己的HandlerExceptionResolver,当然这也包括使用Spring已经为我转载 2016-02-27 17:05:45 · 989 阅读 · 0 评论 -
谈谈spring的缓存
缓存到底扮演了什么角色请移步: http://hacpai.com/article/1376986299174在对项目进行优化的时候,我们可以主要从以下三个方面入手:1 缓存2 集群3 异步今天,就先说说缓存。先说说spring的缓存,下一节我们再聊聊redis说到spring的缓存,得提到三个注解。spring的三个注解@Cach原创 2016-05-12 11:27:56 · 4030 阅读 · 1 评论 -
Spring揭秘 读书笔记 七 BeanFactory的启动分析
首先,先看我自己画的BeanFactory启动时的时序图。第一次接触时序图,可能有些地方画的不是很符合时序图的规则,大家只关注调用顺序即可。public static void main(String[] args){ BeanFactory factory=new XmlBeanFactory(new ClassPathResource("applicationC原创 2015-08-25 21:58:22 · 1521 阅读 · 0 评论 -
Hibernate与Spring的事务管理
什么是事务这个问题比较大,按照我的理解就是,一个事务内的n个操作,要么全部完成,一旦有一个操作有问题,那么所有的操作都全部回滚。Jdbc的事务首先,大家已经知道了,事务说白了就是一个词----统一,要么全部OK,要么都不做。在jdbc中,默认情况下,一个sql就是一个事务,一个事务也仅仅只有一个sql。AutoCommit=true那么我们正常使用的时候,肯定是想把若干个sql原创 2015-09-23 10:19:01 · 1268 阅读 · 0 评论 -
Spring BeanFactory getBean 源码剖析
最开始,一切都来自这里:[java] view plaincopypublic static void main(String[] args){ Resource resource=new ClassPathResource("applicationContext2.xml"); Bean原创 2015-09-03 19:28:58 · 4346 阅读 · 0 评论 -
Spring获取bean的步骤
1 处理&问题2 去chache里找3 处理对象A依赖对象B的问题4 生成bean 4.1 处理方法注入 ------lookup-method 4.2 如果类实现了InstantiationAwareBeanPostProcessor接口就调用其postProcessBeforeInstantiation,如 果返回值不为null,就再调用postProcessA原创 2015-09-02 15:42:40 · 950 阅读 · 0 评论 -
Spring BeanFacoty doCreateBean方法分析
上一篇,我们分析到了doCreateBean,现在继续: 先看看时序图protected Object doCreateBean(final String beanName, final RootBeanDefinition mbd, final Object[] args) { // Instantiate the bean. BeanWrapper instanceWr原创 2015-09-01 20:28:59 · 3282 阅读 · 0 评论 -
spring揭秘 读书笔记 六 bean的一生
我们知道,Spring容器具有对象的BeanDefinition来保存该对象实例化时需要的数据。对象通过container.getBean()方法是才会初始化该对象。BeanFactory我们知道BeanFactory默认是懒加载的,换句话说,当我们请求对象a的时候,a本身还并没有被实例化,同时如果a还依赖b,那么b也还没有被初始化。当我们显示的在代码里调用getBean("a")原创 2015-08-24 16:05:15 · 2562 阅读 · 1 评论 -
Spring AOP 初探
本文可作为北京尚学堂spring课程的学习笔记原创 2014-07-27 15:46:17 · 995 阅读 · 0 评论 -
TinySpring分析二
step5看完了前面的几步,到现在我们必然要想到的问题就是,数据要是放在xml中怎么读?其实按照正常思维一步一步来,从xml中读数据和之前手工配进去并没有什么大的区别,只要读出来就OK了。先看测试程序, public void Step5() throws Exception { // 1.读取配置 XmlBeanDefinitionReader xmlBeanDefini原创 2014-10-12 14:03:47 · 1743 阅读 · 1 评论 -
Tiny Spring 分析一
最近一直想看spring的源码,但是奈何水平太低,庞杂的源代码令我一阵阵的头晕。很有幸,在网上看到了黄亿华大神的>觉得相当不错,就以他的代码为基础,自己又写了一个IoC容器(基本上都是黄的代码,我只改了一部分)原网页如下http://my.oschina.net/flashsword/blog/192551特此声明,本文不能算严格意义上的原创,只能算是黄文章的再次解读吧原创 2014-10-11 14:46:11 · 5444 阅读 · 3 评论 -
我也来写spring
本文可作为北京尚学堂 spring课程的学习笔记我们还是用上一篇文章的例子 给数据库中增加一个user原创 2014-06-29 18:45:23 · 760 阅读 · 0 评论 -
针对接口编程
本文可作为北京尚学堂 spring课程的学习笔记为什么要针对接口编程?不说理论了 直接上一个实例原创 2014-06-29 11:16:15 · 856 阅读 · 0 评论 -
Spring揭秘 读书笔记 三 bean的scope与FactoryBean
本书可作为王富强所著>一书的读书笔记 第四章 BeanFactory的xml之旅bean的scopescope有时被翻译为"作用域",scope用来声明容器中的对象所应该处的限定场景或者说该对象的存活时间,即容器在对象进入其相应的scope之前,生成并装配这些对象,在该对象不再处于这些scope的限定之后,容器通常会销毁这些对象。scope共有5个,singleton,prot原创 2015-08-22 09:46:43 · 2422 阅读 · 0 评论 -
spring揭秘 读书笔记 一 IoC初探
本文是王福强所著>一书的读书笔记ioc的基本概念一个例子我们看下面这个类,getAndPersistNews方法干了四件事1 通过newsListener获得所有的新闻id;2 通过newsListener,用新闻id获得新闻实体3 用newPersistener存储新闻实体4 再使用newsListener发布新闻public class FXNewsProv原创 2015-08-20 20:07:45 · 1944 阅读 · 0 评论 -
Spring揭秘 读书笔记 五 容器的启动
Spring的IoC容器所起的作用,就是生产bean,并维持bean间的依赖关系。它会以某种方式加载Configuration Metadata(通常也就是XML格式的配置信息),然后根据这些信息绑定整个系统的对象,最终组装成一个可用的基于轻量级容器的应用系统。 IoC实现上面要求的过程,可以分解为两步:启动阶段分析:1 加装资源文件2 通过工具类(BeanDefinition原创 2015-08-24 09:35:56 · 1429 阅读 · 0 评论 -
Spring揭秘读书笔记 八 数据访问异常体系
这篇博客 来自spring揭秘一书的第十三章为什么要有访问异常都有一个体系,这个我们得从DAO模式说起。DAO模式任何一个系统,不管是一个最简单的小系统,还是大规模的系统,都得跟数据打交道,说白了都得时常进行存取数据的操作。我们暂且不论数据本身,数据存储的方式就已经是各有不同了。最简单的,把数据存储到关系型数据库中。这里面至少就有MySQL,Oracle等等我还可以把数据存储到原创 2015-09-12 12:58:22 · 1705 阅读 · 1 评论 -
JdbcTemplate源码解析
先写一个测试代码package jdbc;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import org.sprin原创 2015-09-11 12:20:47 · 2459 阅读 · 0 评论 -
Spring揭秘 读书笔记 四----方法注入
我们知道,拥有prototype类型scope的bean,在请求方每次向容器请求该类型对象的时候,容器都会返回一个全新的该对象实例。我们看下面的例子:public class MockNewsPersister implements IFXNewsPersister { private FXNewsBean newsBean; public void persistNew原创 2015-08-22 19:37:32 · 1969 阅读 · 0 评论 -
从模板模式到JdbcTemplate
模板模式初探 关于模板模式,大家可以参阅 模板方法模式深度解析(一) http://blog.youkuaiyun.com/lovelion/article/details/8299794原始的jdbc关于原始的jdbc,如下:import java.sql.Connection; import java.sql.DriverManager; import java.sql.R原创 2015-09-11 12:08:59 · 2452 阅读 · 0 评论 -
spring与mybatis(oracle)整合
今天闲着无聊把项目拆解开,抽出了spring与mybatis部分.做了个demo,希望对初学者有些帮助,另外整个demo是从项目中完整剥离下来的,里面的架构大家也可以参考一下. 首先是用户类package com.user;import com.dao.IDaoUtil;public class User { private String id; privat原创 2014-08-04 22:49:50 · 4307 阅读 · 0 评论