自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lkforce

记录自己解决的小困难和小经验

  • 博客(11)
  • 资源 (2)
  • 收藏
  • 关注

原创 手动调用指定Dubbo接口(三)----GenericService篇

我写了个方法,可以给方法传递指定的Dubbo接口名,方法名,参数值,方法来调用我们指定的Dubbo接口,并返回结果。这次用的是Dubbo的GenericService。示例代码:@Controller@RequestMapping("/test")public class TestController { /** * @param interfaceName Dubbo接口名 * @param methodName 方法名 * @para.

2020-06-23 18:40:11 3812

原创 手动调用指定Dubbo接口(二)----Reference篇

我写了个方法,可以给方法传递指定的Dubbo接口名,方法名,参数值,方法来调用我们指定的Dubbo接口,并返回结果。在SpringBoot中使用@Reference注解标识的Dubbo接口,比如:@ReferenceOrderService orderService;这种接口的动态代理没有被放到Spring的上下文中,而是放在了Dubbo的处理类AnnotationBean中。这种情况下使用WebApplicationContext wac = ContextLoader.g.

2020-06-23 18:34:50 3886 1

原创 Dubbo的GenericService简介和基本使用

简介GenericService是Dubbo提供的泛化接口,用来进行泛化调用。GenericService接口只有一个方法:Object $invoke(String var1, String[] var2, Object[] var3) throws GenericException;第一个参数是方法名。第二个参数是一个字符串数组,这是接口方法每个参数类型的全路径。第三个参数是Object数组,是传给方法的具体参数列表。Dubbo服务的提供者和消费者都可以使用这个接...

2020-06-23 18:06:45 9911

原创 Spring中InitializingBean和SmartInitializingSingleton的区别

目录一,InitializingBean简介:二,SmartInitializingSingleton简介三,InitializingBean和SmartInitializingSingleton的区别四,从源码观察InitializingBean和SmartInitializingSingleton调用时机的区别一,InitializingBean简介:InitializingBean的代码:package org.springframework.beans.factory;

2020-06-12 18:06:56 4144 1

原创 MyBatis源码学习(六)——在代码中调用Mapper接口时发生了什么

小结:1,开始,MapperProxy.invoke().2,创建MapperMethod。包括创建SqlCommand,封装sql,创建MethodSignature,封装方法参数。3,MapperMethod.execute()4,区分增删改查,查询时,统一调用DefaultSqlSession.selectList()5,CachingExecutor.query()6,SimpleExecutor.doQuery()。创建StatementHandler,确定statemen

2020-06-10 20:10:26 1319

原创 MyBatis源码学习(五)——MyBatis配置项的加载过程

先上小结:MybatisAutoConfiguration类的@EnableConfigurationProperties({MybatisProperties.class})注解被Spring激活,准备注入MybatisProperties类。 MybatisProperties类有@ConfigurationProperties(prefix="mybatis")注解,会被ConfigurationPropertiesBindingPostProcessor调用bind()方法来处理。 获得My

2020-06-10 18:05:48 1531

原创 MyBatis源码学习(四)——创建Mapper动态代理

先上小结:Spring标准代理创建流程,this.initializeBean()方法。 BeanPostProcessor对Mapper代理实例进行预处理。 执行MapperFactoryBean.afterPropertiesSet(),从MapperFactoryBean.SqlSessionTemplate.SqlSessionFactory.Configuration.MapperRegistry.knownMappers获得之前创建好的工厂代理,如果没有则重新创建一个。 继续Sprin

2020-06-10 17:16:22 1031

原创 MyBatis源码学习(三)——创建SqlSessionFactory实例和Mapper代理工厂

先上小结:开始调用MybatisAutoConfiguration.sqlSessionFactory()方法。 构建SqlSessionFactoryBean类实例。 把数据源实例DataSource赋值给SqlSessionFactoryBean。 创建Configuration实例,赋值给SqlSessionFactoryBean。 读取mybatis配置文件,把mapperLocations参数赋值给SqlSessionFactoryBean。 SqlSessionFactoryBea

2020-06-10 16:45:44 2058

原创 MyBatis源码学习(二)——创建Mapper代理工厂的准备工作

先上小结:@Autowired注解生效。 Spring开始为@Autowired注解的Mapper创建动态代理。使用的是BeanFatory中注册的BeanDefinition。 Spring标准的创建动态代理流程,创建Mapper接口类的BeanWrapper,准备进行属性注入。 准备给Mapper代理注入sqlSessionFactory和sqlSessionTemplate。 Spring标准的创建动态代理流程,创建SqlSessionFactory的代理。使用的是SqlSessionFa

2020-06-10 15:56:32 474

原创 MyBatis源码学习(一)——@MapperScan注解扫描Mapper接口文件,创建BeanDefinition

先上小结:@MapperScan注解生效。触发@Import({MapperScannerRegistrar.class})注解。 @Import({MapperScannerRegistrar.class})注解生效。调用MapperScannerRegistrar.registerBeanDefinitions()。 MapperScannerRegistrar创建扫描工具类Scanner。 Scanner从@MapperScan注解中获取Mapper接口路径。 调用Scanner.doSc

2020-06-10 15:04:49 3104

原创 MyBatis源码学习(零)——准备

当我们使用MyBatis时,往往会有以下操作:1,添加@MapperScan注解,或者在配置文件中使用<mybatis:scan>进行设置。这一步设置的是需要扫描的Mapper文件路径,比如这样:@Configuration@EnableTransactionManagement@MapperScan({"com.macro.mall.mapper","com.macro.mall.dao"})public class MyBatisConfig {}2,编写Mapper.

2020-06-10 14:42:02 287

Collection下的类的特点汇总

vsd格式

2017-04-10

Map下类的特点

Map下各种接口和类的特点,父子关系,实现方式等,vsd格式

2017-04-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除