![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring
文章平均质量分 89
spark man
crazy for coding
展开
-
使用ProxyFactoryBean实现AOP
以前我在springAOP里写过aspectJ的代理生成逻辑,也看了spring编码方式的代理生成。我们可以来复习一下。我们整一个接口和实现类:再整一个拦截器,或者叫,就是说,切面怎么切的意思。他接受一个作为参数,在这里就是(一次方法调用)。然后是配置类:测试类:从这个demo中我们已经可以看到spring的aop全貌了:代理的接口,目标对象,如何代理,以及使用代理工厂去生成代理。我们还能够使用去生成代理,这时候就不再是原始的生成方式了,因为这时需要走spring的bean的生命周期。他首先是个,原创 2022-06-16 12:06:58 · 234 阅读 · 0 评论 -
@Async注解引发的报错之解决
solution问题解决问题解决在上篇文章中,我们知道了TaskServiceImpl在注入RobotServiceImpl前后从raw version变成了代理。而且我们希望找到dependentBeanMap这个map维护的地方。在属性注入的代码里,我们看到了dependentBeanMap维护的地方。那么我们想:能不能不进这个方法?...原创 2022-05-15 19:28:05 · 936 阅读 · 0 评论 -
@Async注解引发的报错之AsyncAnnotationBeanPostProcessor
回顾上篇文章,我们正在走robotServiceImpl的生命周期,走到属性注入的时候,发现容器中没有taskServiceImpl,于是去创建taskServiceImpl,那就要走taskServiceImpl的生命周期。taskServiceImpl实例化后也要属性注入robotServiceImpl,发现容器中也没有,那就再去创建robotServiceImpl,创建过程中发现robotServiceImpl在singletonsCurrentlyInCreation这样一个集合中,于是就从si原创 2022-05-05 17:50:41 · 497 阅读 · 0 评论 -
@Async注解引发的报错之循环依赖
@Async注解引发的报错之循环依赖回顾RobotServiveImpl与TaskServiceImpl的循环依赖回顾我们现在正在探究循环依赖中加了@Async注解产生的错误。报的错误是:Unsatisfied dependency expressed through field 'taskService'; nested exception is org.springframework.beans.factory. BeanCurrentlyInCreationException: Err原创 2022-02-03 19:40:46 · 1291 阅读 · 0 评论 -
@Async注解引发的报错之组件导入
引入我有一个TaskService:@Servicepublic class TaskServiceImpl implements TaskService { @Autowired private AlgorithmService algorithmService; @Autowired private RobotService robotService; @Override @Async public void getTaskExecut原创 2022-02-02 22:34:23 · 929 阅读 · 2 评论 -
No mapping for GET……
很久没有玩spring mvc了。这次一玩,出问题了。我发现对于静态页面(*.html),dispatcher servlet处理不了,会报No mapping for GET/url的错误。我先把环境说一下:AppInitializer.java配置dispatcher servlet:package com.ocean.config;import org.springframew...原创 2020-02-27 15:26:00 · 34637 阅读 · 3 评论 -
springAOP
springAOP纯程序的springAOP前置通知的应用功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入纯程序的sp...原创 2020-01-03 17:57:23 · 241 阅读 · 0 评论 -
spring中关于bean的生命周期的常用注解
singleton的,非lazy的bean,在IOC容器初始化的时候就被加载了,像基本的servlet有生命周期一样,spring的bean,也是有生命周期的。这也是spring的bean与java中的class不一样的地方,它远比class丰富。今天,我们就介绍与spring的bean的lifeCycle有关的几个注解。preparation:我们有个Customer.java(pack...原创 2019-11-29 12:36:13 · 1169 阅读 · 0 评论 -
标准的springmvc
继低配版的springmvc之后,我们写一个标准的springmvc。在pom文件中,加入spring环境依赖。为了之后在jsp中好写代码,我还加入了jstl依赖:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sc...原创 2019-11-24 17:10:47 · 269 阅读 · 0 评论 -
基于xml与annotation的bean注册
spring就是个大工厂,它管理和生产对象。我们最初是通过xml来完成DI的。我们有个entity:package spring_annotation.entity;import org.springframework.stereotype.Component;public class User { private Integer age; private String na...原创 2019-11-22 17:37:06 · 160 阅读 · 0 评论 -
低配版的springmvc
从图上我们可以看到DispatcherServlet是老大,有什么事都要先问他。request给DispatcherServlet,DispatcherServlet根据Handler Mapping知道要去调用哪个Controller。Controller调用合适的service处理业务,Controller整好一些数据,给DispatcherServlet返回ModelAndView,最后...原创 2019-11-21 09:30:25 · 142 阅读 · 0 评论 -
反射与注解
因为在spring中,它内部是通过反射与注解的技术来实现path和controller的对应的,所以我们就简单地看看反射和注解是怎么操作的。我们在reflect包下建个ReflectExample类。目录结构如下:ReflectExample类的内容为:package reflect;public class ReflectExample { public void metho...原创 2019-11-20 17:15:16 · 323 阅读 · 0 评论 -
spring中的事件监听机制
Spring event listener介绍自定义事件、监听和发布事件:介绍spring支持自定义的事件发布。spring的事件机制基于ApplicationListener这个接口。/*Interface to be implemented by application event listeners.Based on the standard {@code java.util.EventListener} interfacefor the Observer design pattern.原创 2020-06-21 23:43:22 · 1327 阅读 · 0 评论 -
spring用PropertyPlaceholderConfigurer读取配置
我们在BeanFactoryPostProcessor的doc中有这么一句:/** * <p>See PropertyResourceConfigurer and * its concrete implementations * for out-of-the-box solutions * that address such configuration needs. */我们点进PropertyResourceConfigurer 。查看doc:...原创 2020-05-20 20:32:46 · 371 阅读 · 0 评论 -
BeanFactoryPostProcessor使用案例——修改bean definition
我们接着啃BeanFactory。Spring的可扩展性,源于它的PostProcessor,这给程序员很大的控制空间。BeanFactory对应着BeanFactoryPostProcessor,就像Bean对应着BeanPostProcessor。不同的是,BeanFactoryPostProcessor处理的是BeanDefinition,那是创建Bean的模板信息,是在Bean实例化之前做的工作。而BeanPostProcessor是在Bean实例化之后对Bean的增强。我们看一张图:可原创 2020-05-12 13:48:21 · 1234 阅读 · 0 评论 -
FactoryBean的使用案例以及BeanFactory与FactoryBean的区别
BeanFactory与FactoryBeandocumentation为了进一步深入BeanFactory,我们还要了解另一个和BeanFactory相似的名词FactoryBean。从名字就可以看出,一个的本质是Factory,另一个的本质是Bean。我们会从文档、小例子和实际应用讲清楚FactoryBean。documentation/* * Interface to be im...原创 2020-05-04 12:25:02 · 427 阅读 · 0 评论 -
BeanFactory与ApplicationContext
BeanFactory与ApplicationContext是否懒加载既然BeanFactory是spring的顶级接口,那么我们常用的ApplicationContext又是什么呢?首先它们都提供了spring容器的api。但前者是简化版,后者有更多的功能。从ApplicationContext的字面意思就可以看到,它适用于不同环境,有xml环境的,有注解环境的,有web环境的。这是s...原创 2020-05-03 12:49:17 · 150 阅读 · 0 评论 -
BeanFactory简介
BeanFactorydocumentationAPIdocumentationThe root interface for accessing a Spring bean container.This is the basic client view of a bean container;further interfaces such as {@link ListableBeanF...原创 2020-05-02 19:15:57 · 178 阅读 · 0 评论 -
重新思考spring之依赖注入
依赖注入从一个例子说起控制反转依赖注入构造器注入setter注入依赖注入的本质从一个例子说起我们看看Martin Fowler的一个例子。我们有一个MoiveListerclass:class MovieLister... public Movie[] moviesDirectedBy(String arg) { List allMovies = finder.findAl...原创 2020-05-01 15:41:38 · 138 阅读 · 0 评论