Spring源码之注解扫描Component-scan

本文主要介绍Spring的component-scan标签,了解spring是如果实现扫描注解进行bean的注册,主要实现实在 NamespaceHandler,NamespaceHandlerSupport 和 BeanDefinitionParser 三个接口中,还需要配置spring.han...

2019-03-16 15:50:30

阅读数 186

评论数 0

Spring源码之ApplicationContext

本文是针对Srping的ClassPathXMLApplicationContext来进行源码解析,在本篇博客中将不会讲述spring Xml解析注册代码,因为ApplicationContext是BeanFactory的扩展版本,ApplicationContext的GetBean和xml解析注...

2019-03-06 17:42:38

阅读数 181

评论数 1

Spring源码之BeanFactory.getBean()

本文是针对Srping的BeanFactory.getBean来进行源码解析,如果您是第一次看请先看一下XMLBeanFactory解析:https://blog.csdn.net/qq_30257149/article/details/87972291,可以更好的理解Spring的注册原理,本篇...

2019-03-01 11:41:21

阅读数 355

评论数 0

Spring源码之XMLBeanFactory

本文是针对Srping的XMLBeanFactory来进行解析xml并将解析后的信息使用GenericBeanDefinition作为载体进行注册,xmlBeanFactory已经在Spring 3.1中被标记为不建议使用,但是我们分析源码不影响,因为源码并未改变,并ApplicationCont...

2019-02-27 18:18:50

阅读数 180

评论数 10

SpringBoot项目配置Mybatis数据源(注解方式)

采用阿里的Druid做线程池; 首先在项目的build.gradle或pom文件中增加mysql或oracle的依赖 //druid连接池 compile ("com.alibaba:druid-spring-boot-starter:1.1.10") //oracle ...

2018-10-12 11:43:17

阅读数 1206

评论数 5

java内存模型

volatile 语义:         volatile具有和synchronized的一样的语义,被volatile修饰的变量在 ‘读’ 时JMM会将该线程所对应的’本地内存’置为失效,线程接下来会从 ‘主内存’ ...

2019-04-15 14:36:41

阅读数 30

评论数 0

可见性丶原子性和有序性

先说一下概念: 可见性: 一个线程对共享变量的修改,另外一个线程能够立刻感知到,我们称为可见性; 原子性: 一个或者多个操作在 CPU 执行的过程中不被中断的特性称为原子性; 有序性: 指令重排导致顺序被打乱;   线程工作内存: 是指 Cpu 的...

2019-03-28 18:34:23

阅读数 31

评论数 0

@DependsOn或depends-on配置的使用

解释: 首先要了解depends-on或@DependsOn作用,是用来表示一个bean A的实例化依赖另一个bean B的实例化, 但是A并不需要持有一个B的对象,如果需要的话就不用depends-on,直接用依赖注入就可以了或者ref标签。 @DependsOn用法 1:直接或者间接标注...

2019-03-08 14:12:51

阅读数 276

评论数 0

并发编程总结之synchronized细节问题

摘要:本节主要介绍了并发编程下怎么避免数据脏读和什么是synchronized的可重入锁,synchronized的可重入锁的几种使用场景下,是线程安全的。以及一些细节的synchronized使用问题和synchronized常见代码块示例Code可以直接Copy运行。 脏读 什么是脏...

2019-03-07 18:20:09

阅读数 23

评论数 0

并发编程总结之多线程基础

线程安全 当多个线程访问访问某一个类(对象或方法)时,这个类或对象或方法始终能表现出正确的行为或我们想要的结果,那么这个类(对象或方法)就是线程安全的。 synchronized:可以在任意的对象及方法上加锁,而加锁的这段代码称之为互斥区或者临界区。 代码示例说明1 运行main方...

2019-03-07 17:40:00

阅读数 41

评论数 0

自定义BeanDefinitionRegistryPostProcessor

BeanDefinitionRegistryPostProcessor继承自BeanFactoryPostProcessor,是一种比较特殊BeanFactoryPostProcessor。BeanDefinitionRegistryPostProcessor中定义的postProcessBean...

2019-03-05 14:36:59

阅读数 38

评论数 0

FactoryBean的使用

BeanFactory BeanFactory是接口,用于管理Bean的一个工厂。BeanFactory是IOC容器的核心接口,它主要作用就是实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。 BeanFactory只是一个接口,并不是IOC容器的具体实现,Springp容器提供了很...

2019-02-28 17:32:02

阅读数 32

评论数 0

xml配置文件中factory-bean与factory-method(spring使用工厂方法注入bean)

本文是BeanFactory.getBean()的子文章,用来世界史factory-bean和factory-method的使用工厂方式注入,直接上代码; public class UserFactory { //非静态方法 public User createUser(){ ...

2019-02-28 17:19:27

阅读数 268

评论数 0

Spring LookUp-method 和@Lookup 注入

LookUp-method注入: lookUp-method是bean标签下的子元素,但似乎不是很常用,它是把一个方法声明返回某种类型的bean,但是实际上要返回的bean实在配置文件中配置。 UserLookUp类 package lantao; public class UserLoo...

2019-02-27 18:14:24

阅读数 135

评论数 0

Feign Hystrix (HystrixCommonKey) 设置单独接口的超时时间和FallBack

Feign设置单独接口的超时时间和FallBack(HystrixCommonKey) HystrixCommonKey生成方法:类名#方法名(入参类型) final class Default implements SetterFactory { @Override p...

2019-01-16 18:00:13

阅读数 738

评论数 0

java锁

再说锁的时候先说一下 自旋锁 自旋锁原理非常简单,如果持有锁的线程能在很短时间内释放锁资源,那么那些等待竞争锁的线程就不需要做内核态和用户态之间的切换进入阻塞挂起状态,它们只需要等一等(自旋,就是自己没事站着cpu,啥也不干),等持有锁的线程释放锁后即可立即获取锁,这样就避免用户线程和内...

2018-12-05 16:09:34

阅读数 47

评论数 0

基于gradle创建springBoot web项目(idea版本)

1:创建纯净基于gradle的项目(idea版本) 我们不基于https://start.spring.io 来创建项目,因为其中有很多配置是我们不需要的; 第一步:FIle–>New–&...

2018-10-11 18:48:24

阅读数 1657

评论数 0

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