![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring
FlyingZCC
Apache ShardingSphere Committer
GitHub: https://github.com/FlyingZC
Blog: https://flyingzc.github.io
展开
-
Spring Bean的生命周期
ApplicationContext容器bean的生命周期事件refresh() -> invokeBeanFactoryPostProcessors()查找所有实现了 BeanFactoryPostProcessor 接口的 bean,调用 postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) 方法....原创 2019-08-27 21:21:24 · 73 阅读 · 0 评论 -
Spring解决循环依赖
循环依赖解决singletonObjects: 用于存放完全初始化好的 bean,从该缓存中取出的 bean 可以直接使用earlySingletonObjects: 存放早期曝光的 bean 对象(尚未填充属性),用于解决循环依赖singletonFactories: 存放 bean 工厂对象,用于解决循环依赖setter循环依赖假设对象 a 通过 setter 方法持有 b,b 又...原创 2019-08-27 20:52:54 · 232 阅读 · 0 评论 -
Spring AOP原理
AOP原理解析 <aop:aspectj-autoproxy /> 标签入口 DefaultBeanDefinitionDocumentReader.parseBeanDefinitions()1.解析自定义名称空间的标签1.1.由 NamespaceHandlerResolver 根据 namespaceUri 获取具体的 NamespaceHandler1.1.1.第一次...原创 2019-08-28 22:04:41 · 184 阅读 · 1 评论 -
Spring 事务实现
Spring事务实现原理原创 2023-12-29 08:52:33 · 498 阅读 · 0 评论 -
SpringMVC流程简述
初始化逻辑servlet.init()HttpServletBean.init()解析web.xml中配置的<init-param>,将DispatcherServlet包装成BeanWrapper,将参数设置到DispatcherServlet中.FrameworkServlet.initServletBean()初始化webApplicationContext,将ser...原创 2019-10-18 23:28:43 · 242 阅读 · 0 评论 -
Spring环境变量读取不到值
trace一下,连得上和连不上的区别.看打印日志里有一行显示连的本地的.一个ok的连得远程的.怀疑env没取到.查看获取env的地方,从 Environment -> propertyResolver 里获取.然后取的env.一个确实有.另一个没有.仔细debug观察那个没有的…是因为里面有" Xxx" 空格…获取property入口String url = applicationContext.getEnvironment().getProperty(“xxx”);environme原创 2022-01-21 00:40:21 · 2051 阅读 · 0 评论 -
Spring Autowired
@AutowiredAutowiredAnnotationBeanPostProcessor构造器public AutowiredAnnotationBeanPostProcessor() { // 处理 @Autowired, @Value, @Inject 注解 this.autowiredAnnotationTypes.add(Autowired.class); this.autowiredAnnotationTypes.add(Value.class); try {原创 2021-02-19 23:03:10 · 75 阅读 · 0 评论 -
Spring Environment
Spring EnvironmentPropertySource、PropertyResolver、Profile 和 Environment。PropertySource:属性源,key-value 属性对抽象,用于配置数据。PropertyResolver:属性解析器,用于解析属性配置Profile:剖面,只有激活的剖面的组件/配置才会注册到 Spring 容器,类似于 Spring Boot 中的 profileEnvironment:环境,Profile 和 PropertyResolve原创 2021-02-01 23:33:00 · 104 阅读 · 0 评论 -
# Spring InitializingBean 和 init-method
InitializingBean 和 init-methodpublic interface InitializingBean { /** * 该方法在 BeanFactory 设置完了所有属性之后被调用 * 该方法允许 bean 实例设置了所有 bean 属性时执行初始化工作,如果该过程出现了错误则需要抛出异常 */ void afterPropertiesSet() throws Exception;}protected void invokeInitMethods(S原创 2021-01-31 22:37:00 · 89 阅读 · 0 评论 -
Spring BeanPostProcessor
/** * 实例化并调用已经注入的 BeanPostProcessor * 必须在应用中 bean 实例化之前调用 */ protected void registerBeanPostProcessors(ConfigurableListableBeanFactory beanFactory) { PostProcessorRegistrationDelegate.registerBeanPostProcessors(beanFactory, this); }...原创 2021-01-30 21:48:06 · 142 阅读 · 1 评论 -
Spring事件
Spring事件事件监听器接口ApplicationListener 接口定义了一个方法: onApplicationEvent(E event), 该方法接受 ApplicationEvent 事件对象, 在该方法中编写事件的响应处理逻辑.事件广播器当发生容器事件时, 事件广播器将事件通知给事件监听器, 监听器分别对事件进行响应.ApplicationEventMulticaster– AbstractApplicationEventMulticaster– -- SimpleApplic原创 2021-01-30 11:19:27 · 75 阅读 · 0 评论 -
Spring Resource接口
ResourceResource继承结构EncodedResource (org.springframework.core.io.support)Resource (org.springframework.core.io) AbstractResource (org.springframework.core.io) DescriptiveResource (org.springframework.core.io) BeanDefinitionResource (原创 2021-01-28 23:08:15 · 144 阅读 · 0 评论 -
Spring HttpMessageConverter
HttpMessageConverter@RequestBody、@ResponseBody注解,可以直接将输入解析成Json、将输入输出解析成Json.但HTTP 请求和响应是基于文本的,使用HttpMessageConverter做json->String的互相转换.在Spring中,针对不同的消息形式,有不同的HttpMessageConverter实现类来处理各种消息形式在 DispatcherServlet 初始化的过程会调用initHandlerAdapters() 方法,该方法内原创 2020-12-31 22:51:19 · 346 阅读 · 0 评论 -
Spring ConfigurationClassParser
-_-原创 2020-06-13 23:37:33 · 150 阅读 · 0 评论 -
Spring component-scan 实现原理
-_-原创 2020-06-07 13:59:12 · 1558 阅读 · 0 评论