2021.03.20——Spring框架学习笔记02利用组件注解符精简Spring配置文件

文章前言:

本次是第二次学习Spring框架的基础笔记,主要是学习关于组件与注解符方面的知识来配置文件项目,作为一个笔记,希望用于记录自己的一点一滴的成长记录。本次主要是讲解了当任务项目中有许多个类都需要创建一个Bean,如果单靠配置的话将会显得十分地臃肿,将影响美观,至此本次学习内容将通过对组件的学习来简化操作,涉及到的知识点有:1、配置 - configuration 2、注解 - annotation


一、打开上一节课学习项目【SpringDemo2021】并创建lesson02学习包:

本次任务仍然是借助上一次的项目(勇敢骑士杀龙救美任务)进行完善与学习的,用时大概四个小时吧,途中遇到了许多问题,均是在博客园得到的解决,过程中学到了很多很多的课外知识

(1)打开项目并创建lesson02包:

在这里插入图片描述

(2)拷贝lesson01中的内容到lesson02中进行修改与学习:

在这里插入图片描述

(3)修改杀龙任务【SlayDragonQuest】添加注解符@Component

在这里插入图片描述

提示:@Component注解符与@Bean注解符存在着异同点,有很多地方不是很清楚,于是自己查了一下资料,发现二者都是为了定义Bean而存在的,只不过@Component可以自动完成对Bean的配置,用于自动检测和使用类路径扫描自动配置bean。注释类和bean之间存在隐式的一对一映射(即每个类一个bean)。本节课着重于对该注解符的学习。

(4)、修改拯救少女任务类 【RescueDamselQuest】:

在这里插入图片描述

(5)修改勇敢骑士类【 BraveKnight】

在这里插入图片描述

(6)修改拯救少女类【DamselRescuingKnight】

在这里插入图片描述

提示:此处已经删除了构造方法 ( public DamselRescuingKnight(){} ) ,@Resource 接口是一个更强大的接口,用于抽象对底层资源的访问 。

(7)创建Spring配置文件

  • 在resources目录创建xml_annotation子目录,然后在里面创建Spring配置文件 - spring-config.xml
    在这里插入图片描述

在这里插入图片描述

在配置的时候按照以下方式进行配置(由于该步骤的图片我不小心删了,于是借助同学的用了一下,反正步骤是一模一样的,影响不大)
在这里插入图片描述

  • 组件扫描:
    在这里插入图片描述

二、在Java测试文件中创建测试类TestKnight

在这里插入图片描述
查看测试类代码;
在这里插入图片描述

(2)查看运行结果:

在这里插入图片描述

三、关于如何自定义Bean名

在类前添加@Component注解符,生成的Bean采用默认名称,即类名首字母小写。如果不想采用默认名称,那么通过@Component注解符的参数来制定,比如给BraveKnight类添加注解符@Component(“自定义的Bean名字”)或者@Component(value = “自定义的Bean名字”):

(1)打开勇敢骑士类【BraveKnight】

此处以“Mike”作为新定义的自定义Bean名字
在这里插入图片描述

(2)修改测试方法testBraveKnight()

在这里插入图片描述

(3)运行测试方法testBraveKnight(),查看结果

在这里插入图片描述

四、程序接口优化(运用接口的知识):

Spring框架可以方便地管理Bean及其相互依赖。为了实现松耦合,一般采用面向接口的方式。多种骑士,多种任务,任意搭配。为了实现这个效果,我们应该抽象出两个接口:骑士接口(Knight)和任务接口(Quest)。骑士接口有两个实现类:BraveKnight和DamselRescuingKnight;任务接口有两个实现类:SlayDragonQuest和RescueDamselQuest。

(1)创建骑士与任务接口:

在这里插入图片描述

(2)查看代码:

骑士类代码:

在这里插入图片描述

任务类代码:

在这里插入图片描述

(2)修改杀龙任务类 - SlayDragonQuest:

在这里插入图片描述

(3)修改拯救少女任务修改拯救少女骑士类 - DamselRescuingKnight

在这里插入图片描述

(3)运行测试类 - TestKnight查看结果:

在这里插入图片描述

总结:

本次任务难度比较大,涉及到的内容比较多,尤其是在最后对接口的知识进行了一次复习与回顾才慢慢理解到的,发现了自己在基础知识上的一些漏洞需要补漏。在接下来的学习过程中会慢慢进行巩固与对旧知识的复习,以及对新知识的复习,否则后期根本学不走。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sugar-free->小粽子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值