【Spring篇】使用注解进行开发

🎊专栏【Spring】
🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。
🎆音乐分享【如愿】
🥰欢迎并且感谢大家指出小吉的问题

文章目录

  • 🌺原代码(无注解)
  • 🎄加上注解
    • ⭐两个注解
      • 🎆小结
  • 🎄纯注解开发
    • ⭐结果
  • 🎄依赖注入
    • ⭐注入引用类型
    • ⭐注入简单类型

Spring 框架提供了丰富的注解来简化开发过程,使得开发者可以更加便捷和高效地编写代码。
使用注解进行Spring开发有以下几个好处:

简化配置:通过使用注解,可以减少XML配置文件的数量和复杂度,使得配置更加简洁和易于维护。

提高开发效率:注解能够减少样板式的代码,使得开发人员能够更加专注于业务逻辑的实现,从而提高开发效率。

降低耦合度:通过使用注解,可以更加方便地进行依赖注入和解耦,使得各个组件之间的耦合度降低,代码更加灵活和可扩展。

增强可读性:注解能够直观地表达代码的含义,使得代码更加清晰易懂,有助于其他开发人员快速理解代码逻辑。

更好的集成性:注解能够与现有的Java语言特性和工具链更好地集成,如IDE的支持、静态代码分析等。

总的来说,使用注解进行Spring开发能够简化开发流程,降低代码的复杂度,提高开发效率,并且使得代码更加清晰易懂,是现代Java开发中的一种主流做法。
在这里插入图片描述
使用注解(Annotation)是一种在代码级别进行说明和标记的技术,它从JDK 5.0开始引入,并在现代Java开发中得到了广泛应用。在Spring框架中,注解的运用使得配置和开发变得更加简单和便捷。通过在类、方法、参数等元素上添加注解,开发人员可以实现自动装配、自动注入等功能,从而减少了繁琐的配置工作,提高了开发效率,同时使得代码更加清晰易懂。本文将详细介绍Spring框架中常用的注解及示例,帮助开发者快速掌握Spring注解开发的要点和技巧。通过深入理解和灵活运用这些注解,开发者能够更好地利用Spring框架的强大功能,提升自身的开发水平和项目的质量。

🌺原代码(无注解)

在这里插入图片描述

🎄加上注解

applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"><!--    <bean id="bookDao" class="com.example.dao.impl.BookDaoimpl"/>--><!--    扫描组件--><context:component-scan base-package="com.example"/></beans>

BookDaoimpl.java

package com.example.dao.impl;import com.example.dao.BookDao;
import org.springframework.stereotype.Component;//组件 (组件名字)
@Component("bookDao")
public class BookDaoimpl implements BookDao {public void save(){System.out.println("book dao save ...");}
}

在这里插入图片描述
我们可以加上两个注解

⭐两个注解

在这里插入图片描述

🎆小结

请添加图片描述
请添加图片描述

🎄纯注解开发

使用这种方式,我们就不用写applicationContext.xml文件了

在这里插入图片描述

我们创建config包,里面配上SpringConfig类

package com.example.config;import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;//配置类
@Configuration
//扫描  (指定包)
@ComponentScan("com.example")
public class SpringConfig {
}

创建AppForAnnotation测试类
在这里插入图片描述

package com.example;import com.example.config.SpringConfig;
import com.example.dao.BookDao;
import com.example.service.BookService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;public class AppForAnnotation {public static void main(String[] args) {ApplicationContext ctx=new AnnotationConfigApplicationContext(SpringConfig.class);BookDao bookDao=(BookDao) ctx.getBean("bookDao");System.out.println(bookDao);BookService bookService=ctx.getBean(BookService.class);System.out.println(bookService);}
}

其他的不用变

⭐结果

在这里插入图片描述

🎄依赖注入

使用@Autowired注解,这样就不用写setter方法了

请添加图片描述

⭐注入引用类型

请添加图片描述

⭐注入简单类型

使用@Value() 可以起到传值的作用

在这里插入图片描述

在这里插入图片描述

在现代的Java开发中,注解已经成为了不可或缺的一部分。通过合理地运用注解,我们能够使得代码更加简洁、清晰,并且更具有灵活性和可维护性。本文介绍了在Spring框架中常用的注解及其示例,希望能够为大家在实际的项目开发中提供帮助。

总的来说,使用注解进行开发可以减少样板式的配置,提高开发效率,同时也使得代码更加易读易懂。随着对注解特性的深入理解和灵活运用,我们相信大家会在日常的开发工作中受益匪浅。让我们共同享受注解带来的便利,不断提升自己在Java开发领域的技术水平,创造出更加优秀的软件作品。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软磁交流测试仪系统磁参量指标

1. 主要应用 2. 软磁交流测试仪磁参量指标 被测参数 最佳测量不确定度 ( k 2 ) 1 kHz 最佳测量重复性 主要动态磁特性参数 Ps 2.0% 1.0% μa 3.0% 1.0% Bm 1.0% 0.5% Hm 1.0% 0.5% δ 5.0% 1.5% 其他磁特性参数供参考 Br 2.0% 1.0% Hc 3.0% 1.0% μ…

es 算法函数 有点不太懂了没有大神给指点一下

我先说一下我对算法分析的理解 算法函数&#xff0c;我们使用算法函数给指定的数据提高对应的值的方式 比如我现在要给一家酒店排名提高排名&#xff0c;我们可以利用算法函数&#xff0c;提高酒店排名&#xff0c;因为酒店的名称 相关算法的使用场景 在使用的时候出现了这…

代码示例:基于JAX-WS和JAXB,其中http请求和响应的报文体都是xml数据

说明 基于JAX-WS编写了RESTful的web服务端点。 http请求和响应的报文体都是xml数据&#xff0c;服务端分别对应了用JAXB注解的请求和响应类。 只实现了服务端的代码示例 客户端使用了Postman 示例 要实现的目标&#xff1a;http请求和响应报文体的xml数据 http请求报文体的…

快速提高编码生产力——中国用户如何使用Jetbrains内置的AI助手

文章目录 安装AI助手插件怎么在国内使用特殊工具先安排上系统设置代理IDE设置代理 使用案例 安装AI助手插件 此功能依赖于AI Assistant插件&#xff0c;您需要安装并启用该插件。 按打开 IDE 设置&#xff0c;然后选择插件。CtrlAltS打开Marketplace选项卡&#xff0c;找到AI…

Spring 如何自己创建一个IOC 容器

IOC(Inversion of Control),意思是控制反转&#xff0c;不是什么技术&#xff0c;而是一种设计思想&#xff0c;IOC意味着将你设计好的对象交给容器控制&#xff0c;而不是传统的在你的对象内部直接控制。 在传统的程序设计中&#xff0c;我们直接在对象内部通过new进行对象创建…

Swift 如何打造兼容新老系统的字符串分割(split)方法

0. 概览 在 Swift 的开发中&#xff0c;我们经常要与字符串打交道。其中一个常见的操作就是用特定的“分隔符”来分割字符串&#xff0c;这里分隔符可能不仅仅是字符&#xff0c;而是多字符组成的字符串。 从 iOS 16 开始&#xff0c; 新增了对应的方法来专注此事。不过&am…

zabbix的安装配置,邮件告警,钉钉告警

zabbix监控架构 zabbix优点 开源&#xff0c;无软件成本投入server对设备性能要求低支持设备多&#xff0c;自带多种监控模板支持分布式集中管理&#xff0c;有自动发现功能&#xff0c;可以实现自动化监控开放式接口&#xff0c;扩展性强&#xff0c;插件编写容易当监控的item…

Git详解及 github使用

1.1 关于版本控制 开始之前先看一个没有版本控制的例子 1.1.1 本地版本控制 本地版本控制系统 许多人习惯用复制整个项目目录的方式来保存不同的版本&#xff0c;或许还会改名加上备份时间以示区别。这么做唯一的 好处就是简单&#xff0c;但是特别容易犯错。有时候会混淆所在…

深度学习交通车辆流量分析 - 目标检测与跟踪 - python opencv 计算机竞赛

文章目录 0 前言1 课题背景2 实现效果3 DeepSORT车辆跟踪3.1 Deep SORT多目标跟踪算法3.2 算法流程 4 YOLOV5算法4.1 网络架构图4.2 输入端4.3 基准网络4.4 Neck网络4.5 Head输出层 5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; *…

mysql客户端navicat的一些错误合集

关于mysql的客户端的使用的一些问题 问题描述&#xff1a; 在使用navicat prenium客户端的时候&#xff0c;连接数据库出现 Table ‘performance_schema.session_variables’ doesn’t exist 错误 解决方案&#xff1a; 首先找到mysql的bin目录 然后winR 进入到cmd界面 输入…

AST系列文章|根据节点前后的变化来写代码

关注它&#xff0c;不迷路。 本文章中所有内容仅供学习交流&#xff0c;不可用于任何商业用途和非法用途&#xff0c;否则后果自负&#xff0c;如有侵权&#xff0c;请联系作者立即删除&#xff01; 需求 本文以一个简短的混淆js代码来讲解如何根据节点前后的变化来写代…

基于单片机音乐弹奏播放DS1302万年历显示及源程序

一、系统方案 1、本设计采用51单片机作为主控器。 2、DS1302计时显示年月日时分秒。 3、按键可以弹奏以及播放音乐&#xff0c;内置16首音乐。 二、硬件设计 原理图如下&#xff1a; 三、单片机软件设计 1、首先是系统初始化 /时钟显示**/ void init_1602_ds1302() { write…