Spring 编程常见错误
文章平均质量分 91
Spring 的广泛应用,让原本一些错综复杂的开发工作变得简单起来。这也让很多后端程序员,尤其是 Java 程序员,从中获益。
一点知趣
请为人生舔砖加瓦
展开
-
05|Spring AOP 常见错误(上)
通过 ReflectionFactory.newConstructorForSerialization().newInstance() 实例化类则。原创 2023-04-22 16:41:51 · 697 阅读 · 0 评论 -
06|Spring AOP 常见错误(下)
案例 1:错乱混合不同类型的增强1、还是沿用上一遍文章的宿舍管理系统开发场景。这里我们先回顾下,你就不用去翻代码了。这个宿舍管理系统保护了一个电费充值模块,它包含了一个负责电费充值的类 ElectricService,还有一个充电方法 charge():@Servicepublic class ElectricService { public void charge() throws Exception { System.out.println("Electric c原创 2023-04-23 15:22:06 · 171 阅读 · 0 评论 -
04|Spring Bean 生命周期常见错误
比如接下来我会讲到示例问题如何修正,修正方案中提到的 PostConstruct 注解,它的处理逻辑就需要用到 CommonAnnotationBeanPostProcessor(继承自 InitDestroyAnnotationBeanPostProcessor)这个后置处理器。,比如 Bean 的后置处理器类,注册到 Spring 容器,其中就包括我们这节课关注的 CommonAnnotationBeanPostProcessor 类;,并在 Spring 中扮演了非常重要的角色;原创 2023-04-20 20:06:51 · 207 阅读 · 0 评论 -
02|Spring Bean 依赖注入常见错误(上)
1、在使用 @Autowired 时,应该制造或者遭遇过类似的错误:即,我们仅需要一个 Bean,但实际却提供了 2 个(这里的“2”在实际错误中可能是其它大于 1 的任何数字)。2、为了重现这个错误,我们可以先写一个案例来模拟下假设我们在开发一个学籍管理系统案例,需要提供一个 API 根据学生的学号(ID)来移除学生,学生的信息维护肯定需要一个数据库来支撑,所以大体上可以实现如下:其中 DataService 是一个接口,其实现依托于 Oracle,代码示意如下:截止目前,运行并测试程序原创 2023-04-20 15:08:38 · 408 阅读 · 0 评论 -
03|Spring Bean 依赖注入常见错误(下)
在装配对象成员属性时,@Autowired或 @Value 进行装配。不过这两种注解使用风格不同,使用 @Autowired 一般都不会设置属性值,而 @Value 必须指定一个字符串值,因为其定义做了要求,定义代码如下:另外在比较这两者的区别时,我们一般都会因为 @Value 常用于 String 类型的装配而误以为 @Value 不能用于非内置对象的装配,实际上这是一个常见的误区。例如,我们可以使用下面这种方式来 装配一个属性成员: 其中 student 这个 Bean 定义如下:@V原创 2023-04-20 16:17:19 · 273 阅读 · 0 评论 -
轻松了解Spring基础知识
所以我们得有一个办法去标识哪些是需要成为 Spring Bean,因此各式各样的注解才应运而生,例如 Component 注解等。2、但假设我们有 ComponentB、ComponentC、ComponentD 等,那上面的重复性代码都得写一遍,也是烦的不行,不是么?(房子)时,你直接把你的需求告诉 Spring(中介)就好了,它会帮你搞定这些依赖对象,按需创建它们,而无需你的任何额外操作。7、我们有时候想记录一个方法调用的性能,有时候我们又想在方法调用时输出统一的调用日志。1、这里套用一个租房的场景。原创 2023-04-17 10:46:57 · 41 阅读 · 0 评论 -
01|Spring Bean 定义常见错误
当我们需要添加多个类似的 Controller,同时又希望用更清晰的包层次和结构来管理时,我们可能会去单独建立一个独立于 application 包之外的 Controller 包,并调整类的位置。、所以当一个单例的 Bean,使用 autowired 注解标记其属性时,你一定要注意这个属性值会被固定下来。所以从这点也可以看出,其实在我们的 getServiceImpl 方法实现中,随便怎么写都行,这不太重要。C、待我们寻找到要自动注入的 Bean 后,即可通过反射设置给对应的 field。原创 2023-04-17 16:31:27 · 210 阅读 · 0 评论