利用组件注解符精简Spring配置文件

news2024/11/15 20:58:22

文章目录

  • 利用组件注解符精简Spring配置文件
    • 一、利用组件注解精简Spring配置文件
      • 1、创建新包
      • 2、将4个类给拷贝过去
      • 3、修改杀龙任务类
      • 4、修改救美任务类
      • 5、修改勇敢骑士类
      • 6、修改救美骑士类
      • 7、创建Spring配置文件

利用组件注解符精简Spring配置文件

一、利用组件注解精简Spring配置文件

1、创建新包

创建net.aex.spring.day02
在这里插入图片描述

2、将4个类给拷贝过去

day01 包的4个类给拷贝到day02包里面去
在这里插入图片描述

3、修改杀龙任务类

修改 SlayDragonQuest 类(杀龙任务类)
在这里插入图片描述
给Java类添加组件注解符@Component,意味着要交给Spring容器管理,如果没有设置参数,那么组件采用默认名称,就是类名首字母小写 - slayDragonQuest

package net.aex.spring.day02;

import org.springframework.stereotype.Component;

/**
 * 功能:杀龙任务
 * 作者:aex
 * 日期:2023年02月14日
 */
@Component
public class SlayDragonQuest {
    public void embark() {
        System.out.println("执行杀龙任务……");
    }
}

@Component相当于@Component("slayDragonQuest")

4、修改救美任务类

修改 RescueDamselQuest 类(救美任务类)

package net.aex.spring.day02;

import org.springframework.stereotype.Component;

@Component
public class RescueDamselQuest {
    public void embark(){
        System.out.println("执行救美任务....");
    }
}

5、修改勇敢骑士类

修改 BraveKnight 类(勇敢骑士类)

package net.aex.spring.day02;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

/**
 * 功能:勇敢骑士类
 * 作者:小小榕
 * 日期:2023年02月14日
 */
@Component("RobinHood")
public class BraveKnight {
    @Value("罗宾汉") // 值注解符
    private String name;
    @Autowired // 自动装配注解符
    private SlayDragonQuest slayDragonQuest;

    /**
     * 勇敢骑士执行任务
     */
    public void embarkOnQuest() {
        System.out.print("勇敢骑士[" + name + "]"); // 骑士留名
        slayDragonQuest.embark(); // 执行杀龙任务
    }

}

· 添加组件注解符,设置参数“RobinHood”,对应的就是Spring配置文件里装配Bean元素的id属性值。
·注意:删除setSlayDragonQuest()方法,因为已经通过注解符设置了勇敢骑士的姓名和杀龙任务属性。
·

6、修改救美骑士类

修改 RescueDamselKnight 类(救美骑士类)

package net.aex.spring.day02;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class RescueDamselKnight {
    @Value("格拉海德") // 值注解符
    private String name;
    @Autowired // 自动装配注解符
    private RescueDamselQuest rescueDamselQuest;

    public void embarkOnQuest() {
        System.out.print("救美骑士[" + name + "]");
        rescueDamselQuest.embark();
    }

}

注意:删除了构造方法,因为已经通过注解符设置了姓名和救美任务属性

7、创建Spring配置文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/360380.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

什么是生命周期?Activity生命周期的三种状态

什么是生命周期生命周期就是一个对象从创建到销毁的过程,每一个对象都有自己的生命周期。同样,Activity也具有相应的生命周期,Activity的生命周期中分为三种状态,分别是运行状态、暂停状态和停止状态。接下来将针对Activity生命周…

【自动化测试】自动化测试框架那些事儿

无论是在自动化测试实践,还是日常交流中,经常听到一个词:框架。在教学的过程中,同学们一直对“框架”这个词知其然不知其所以然。 最近看了很多自动化相关的资料,加上一些实践,算是对“框架”有了一些理解…

JVM13 类的生命周期

1. 概述 在 Java 中数据类型分为基本数据类型和引用数据类型。基本数据类型由虚拟机预先定义,引用数据类型则需要进行类的加载。 按照 Java 虚拟机规范,从 class 文件到加载到内存中的类,到类卸载出内存为止,它的整个生命周期包…

本地代码推送到Coding

话不多说,开门见山 一、coding准备 注册啊,建项目,这些就不用多说了。 1.创建一个代码仓库 填一下名称和描述就行,其他先不用填,然后点最下面完成创建就行。 2.保存代码仓库地址 二、本地代码仓库准备 已经是在…

Linux 忘记密码解决方法

很多朋友经常会忘记Linux系统的root密码,linux系统忘记root密码的情况该怎么办呢?重新安装系统吗?当然不用!进入单用户模式更改一下root密码即可。 步骤如下: 重启linux系统 3 秒之内要按一下回车,出现如…

Web前端:什么是Vue Native 框架?有什么特点?

Vue Native是一个使用Vue.Js开发本地移动应用程序的框架。该框架将文档转换为React Native,进而为你提供适用于Android和iOS的本地应用程序。实际上,Vue Native应用程序据说是React API的包装。Vue将Vue.js和React结合在一起,让你的开发团队充…

【牛客刷题专栏】0x0C:JZ4 二维数组中的查找(C语言编程题)

前言 个人推荐在牛客网刷题(点击可以跳转),它登陆后会保存刷题记录进度,重新登录时写过的题目代码不会丢失。个人刷题练习系列专栏:个人CSDN牛客刷题专栏。 题目来自:牛客/题库 / 在线编程 / 剑指offer: 目录前言问题…

Django框架之模板过滤器

过滤器 语法如下: 使用管道符号|来应用过滤器,用于进行计算、转换操作,可以使用在变量、标签中。如果过滤器需要参数,则使用冒号:传递参数。 变量|过滤器:参数列举几个如下: safe,禁用转义,告诉模板这个变…

大数据Hadoop教程-01大数据导论与Linux基础

目录 01、大数据导论 02、Linux操作系统概述 P007 P008 P009 P010 P011 P012 P013 P014 P015 P016 P017 01、大数据导论 企业数据分析方向 现状分析(分析当下的数据):现阶段的整体情况,各个部分的构成占比、发展、变…

C++空指针和野指针

空指针:指针被赋值为空 例如: int* p nullptr;int* p NULL; 空指针指向的地址是00000000,但空指针不可以解引用 野指针:指针指向了不可控的位置 例如: 未初始化 int* p; //野指针 越界访问 int intArr[5]{0, 1, …

Echarts+大屏

先放上我做的大屏吧,做的不是很好看,希望大家能见谅。 一、实验目的 理解大数据可视化的原理和方法掌握ECharts可视化的原理、步骤和效果掌握使用D3读取数据的方法 二、实验任务与要求 通过网店运营的销售数据,分别从各月的销售情况、各产品…

【1】linux命令每日分享——mkdir创建目录

大家好,这里是sdust-vrlab,Linux是一种免费使用和自由传播的类UNIX操作系统,Linux的基本思想有两点:一切都是文件;每个文件都有确定的用途;linux涉及到IT行业的方方面面,在我们日常的学习中&…

剑指offer-消失的数字、数组中出现的次数

消失的数字 解法一:求和相减 假设nums为[0,1,2,4],消失的数字为3,完整的数组应该是[0,1,2,3,4],则sum101247,sum20123410,我们很容易发现 sum2-sum1 01234 - 0124 3,即为消失的数字。因此,我们可以采用先…

国内有哪些值得一去的通信类博物馆?

众所周知,博物馆是收藏、展示和研究历史文物的地方。参观博物馆,既可以回顾历史往事,也可以学习知识。那么,作为通信人,你知道国内有哪些通信领域的博物馆吗?今天,就让小枣君给大家介绍介绍。█…

没有基础学习编程Python难学吗?

你听说过Python吗?如果是这样,你有没有想过它是否很难学习?在本文中,我将告诉您什么是 Python 以及为什么在 2023 年学习它是一个好主意。Python 是一种计算机编程语言,广泛用于 Web 开发、科学计算、数据分析、人工智…

ChatGPT的API接口的模型有多少种?这些模型都有什么功能或者在应用场景上有什么区别?【模型介绍使用与调用接口方法】

OpenAI 的 API 接口提供了多个 GPT-3 模型,每个模型针对不同的应用场景和任务进行了优化。以下是目前可用的 GPT-3 模型: davinci: 这是最大和最全面的模型,具有最高的准确性和灵活性,用于多种自然语言处理任务,如文本生成、对话系统、翻译等。 curie: 这个模型比 davin…

MySQL:想实现sql语句进行批量删除数据库或表,而引发的熬夜探究

因为在自测过程中,创建了很多数据库,一个个手动删除属实有点对不起程序员这个身份,那么有没有简单的sql语句操作来进行批量删除数据库呢?于是便有了本篇文章 上面图片是AI创作,未经允许,不可商用哦&#xf…

谷粒学苑第一天

谷粒学苑第一天 官方文档(多看看):https://mybatis.org/mybatis-3/zh/sqlmap-xml.html#Auto-mapping 问题1:新建springboot没有pom文件(已解决) 修改pom文件 有这个web依赖,properties才会是小…

CRM外呼系统

对于如今企业来讲,电销依然是企业进行销售的主要手段,因其成本低,覆盖率较广,时间获客较短。运用公司自动化信息管理技术和专业化运行平台,完成公司产品的推介、咨询、报价以及产品成交条件确认等主要营销过程的业务 …

yolov5源码解读--数据处理模块

yolov5源码解读--数据处理模块加载数据读取图片加载标签马赛克数据增强图片标签其他的数据增强变图像变标签__getitem__构建Batch加载数据 create_dataloader 跳转到datasets.py文件中,可以看到支持输入的文件类型非常丰富。。 回归正题 跳转LoadImagesAndLabel…