Spring getBean()方法执行过程
通过对getBean方法对源码分析,我们可以清晰的理解bean的加载过程
继续阅读→
通过对getBean方法对源码分析,我们可以清晰的理解bean的加载过程
继续阅读→
Spring容器的创建过程、Bean的创建过程,主要在refresh函数中完成,通常我们使用下面的方法去创建、以及初始化容器:
继续阅读→
JDK代理是基于接口形式进行代理的,那么生成的代理类在使用的时候,就可以用接口形式去使用。 继续阅读→
阅读全文1.从xml配置文件,或者注解加载BD,beanDefinition 继续阅读→
阅读全文spring使用了三级缓存去解决依赖问题的
我们在setter单例模式注入时,spring的bean加载过程是:
例如循环依赖关系:A->B->A
继续阅读→
一、静态代理:
静态代理就是实现一个「新类」他和「原类」实现同一个接口,使用时替换「原类」以达到增强的效果
继续阅读→
我们需要将请求的内容转换为指定格式,并且响应指定格式的内容,我们可以自定义转换器。
继续阅读→
引入xml支持的包
继续阅读→
spring里面,事物分2种,编程式事物、声明式事物
编程式事物:使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用TransactionTemplate 继续阅读→
先上图,看下图中beanFactory和FactoryBean各在哪 继续阅读→
阅读全文Spring提供的扩展类,用于增强bean
继续阅读→
AbstractBeanFactory.doGetBean(); 继续阅读→
阅读全文1.mbd.isSingleton()单例
2.mbd.isPrototype()原型,即多例
3.ohter,Request、Session等
继续阅读→
按照Bean名称从BeanFactory中获取或创建Bean的实例,然后反射将其注入属性的值中 继续阅读→
阅读全文@Autowired
是由spring 2.5版本引入的
1.默认使用类type进行注入,如果需要使用名称那么需要添加一个注解
@Qualifier("beanName"),
2.Autowired还有一个属性,require,默认是ture,如果类不存在就忽略,可以设置为false
@Autowired(required = false)阅读全文
除了借助redis进行异步任务外,spring还提供了异步线程池自己完成异步处理任务。
Spring 提供了便捷的注解@EnableAsync,如果配置文件标注了它,那么Spring就会开启异步可用,这样就可用使用注解@Async驱动Spring使用异步调用
继续阅读→
短信、邮件、微信等通知,常常会用到发布订阅模式。
发布者发布消息后,订阅者根据消息去做对应等事情,比如一个订单购买成功的通知发布后,短信、邮件、微信等订阅者消费消息,并且推送给用户。
继续阅读→
我们知道,例如下面这样2条命令,实际上会分别前后开启2个不同的链接去设置值
redisTemplate.opsForValue().set("key1", "value1"); redisTemplate.opsForValue().set("key2", "value2");阅读全文
我们使用redisTemplate去set一个value时,在redis里面用key * 去获取,会发现不是正常的字符串。 继续阅读→
阅读全文