当前位置: 首页 > article >正文

【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.xsd
       http://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.kler.cn/a/132421.html

相关文章:

  • 动态规划算法的优点
  • 向量数据库FAISS之五:原理(LSH、PQ、HNSW、IVF)
  • 学习日志012--python中多进程,多线程
  • 通用定时器---输出比较功能
  • 网络安全之国际主流网络安全架构模型
  • C# DataTable使用Linq查询详解
  • TensorFlow:GPU的使用
  • redis+python 提取免费代理ip/验证/留接口
  • TensorFlow C++编译及推理
  • 生活总是自己的,请尽情打扮,尽情可爱,,
  • 【2023春李宏毅机器学习】快速了解机器学习基本原理
  • 【数据结构】单链表基本操作的实现
  • pytorch的backward()的底层实现逻辑
  • 滑动窗口题目总结(持续更新中)
  • CGAL Mesh网格分割(基于平面)
  • “流量为王”的时代一去不返!如何押注互联网下一个黄金十年
  • [RK-Linux] recovery分区详解(一)
  • 3GPP TS38.201 NR; Physical layer; General description (Release 18)
  • GEM5 Garnet DVFS / NoC DVFS教程:ruby.clk_domain ruby.voltage_domain
  • Unity 问题 之 Text 组件空格导致 自动/强制 换行 的问题处理
  • JVM虚拟机:垃圾回收器ZGC和Shenandoah算法
  • Unity中Shader纹理的多级渐远Mipmap
  • LLVM学习笔记(62)
  • Flask 接口
  • 每天一道算法题:216. 组合总和 III
  • 【智能家居】4、智能家居框架设计和代码文件工程建立