spring
文章平均质量分 79
yw zs
一个刚入门的编程爱好者,来这里记录学习编程这条路上遇到的报错和疑问,希望我的bug能让大家避坑。希望大家都能找到一份好工作高薪。
展开
-
springBoot 我的最爱
static class MyCondition implements Condition { // 存在 Druid 依赖@Overridepresent :!present;// true 判断存在 false 判断不存在// 要判断的类名@Configuration // 第三方的配置类@Bean。原创 2023-10-21 14:12:57 · 95 阅读 · 1 评论 -
springMVC的异常处理
这里可以用springboot提供的一个BasicErrorController类来代替,其功能更完善,可以根据请求同来返回不同信息,浏览器返回html,postman返回json(附上源码,供大家一赏)在这类异常中,我们可以在Controller中定义异常处理器,@ExceptionHandler来处理当类中产生的异常。如果是在@ControllerAdvice中定义,它就是全局异常处理器,可以处理所有控制器异常。他会取出所有异常,包括当前异常的产生异常,就可以判断嵌套异常。原创 2023-10-20 11:31:46 · 95 阅读 · 1 评论 -
springMVC启动!
Override// 是否支持某个参数= null;@Override// 解析参数用来判断参数是否带有@Token注解(自定义),然后从请求头中获取并且返回@Overridereturn yml!= null;@Override // 返回值// 1. 转换返回结果为 yaml 字符串// 2. 将 yaml 字符串写入响应// 3. 设置请求已经处理完毕用来判断方法上是否添加有@Token注解,有就负责其返回值的处理。注意,光定义还不行,需要在配置中指点添加。原创 2023-10-19 14:20:52 · 238 阅读 · 0 评论 -
Spring Aop 的实现
同时这个动态代理类其实本质上并不是实际存在的文件而是spring根据asm技术(字节码生成技术)来动态生成的,动态加载的。因为反射调用其实是非常有损性能的(反射包括了一些动态类型,所以JVM无法对这些代码进行优化。我们应该避免在经常被 执行的代码或对性能要求很高的程序中使用反射。避免反射, 提高性能, 代价是一个代理类配两个 FastClass 类, 代理类中还得增加仅调用 super 的一堆方法。cglib 不要求目标实现接口,它生成的代理类是目标的子类,因此代理与目标之间是子父关系。原创 2023-10-17 09:58:33 · 88 阅读 · 0 评论 -
Scope解释
prototype,每次使用时创建,不会自动销毁,需要调用 DefaultListableBeanFactory.destroyBean(bean) 销毁。application,web 容器用到此 bean 时创建,容器停止时销毁。对于单例对象来讲,依赖注入仅发生了一次,所以其注入多例对象时会失败。singleton,容器启动时创建(未设置延迟),容器关闭时销毁。request,每次请求用到此 bean 时创建,请求结束时销毁。session,每个会话用到此 bean 时创建,会话结束时销毁。原创 2023-10-16 10:19:06 · 40 阅读 · 1 评论 -
DefaultListableBeanFactory和ApplicationContext
这个是我们比较 熟悉的基于注解开发的ApplicationContext,他就帮我们做了很多的处理(比起上面的DefaultListableBeanFactory),我们不需要再手动添加后处理器和初始化单例等等。bean 后处理的添加顺序会对解析结果有影响,见视频中同时加 @Autowired,@Resource 的例子。例如 @Autowired,@Resource 等注解的解析都是 bean 后处理器完成的。这2个都是基于xml的方式来配置bean,其本质上也是基于。功能,都是它来实现。原创 2023-10-14 11:13:44 · 164 阅读 · 1 评论