Spring 学习(四)注解实现自动装配及注解开发

news2024/12/23 18:56:15

1. 注解实现自动装配

  • JDK 1.5 开始支持注解,Spring 2.5 开始支持注解。

  • 使用须知

    • 导入约束

    • 配置注解的支持( <context:annotation-config/>

      <?xml version="1.0" encoding="UTF-8"?>
      <beans xmlns="http://www.springframework.org/schema/beans"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns:context="http://www.springframework.org/schema/context"
          xsi:schemaLocation="http://www.springframework.org/schema/beans
              https://www.springframework.org/schema/beans/spring-beans.xsd
              http://www.springframework.org/schema/context
              https://www.springframework.org/schema/context/spring-context.xsd">
      
          <context:annotation-config/>
      
      </beans>
      
    • 直接在类属性(或 set 方法)上加 @Autowired 使用即可。

    • 使用 @Autowired 可以不编写 set 方法,前提是此属性存在于 IOC 容器中,通过 byType 方式实现。

    • @Autowired(required = false) 标识的属性值可以为 NULL ,相当于 @Nullable

    • 可以使用 @Qualifier(value = "dog") 配合 @Autowired 指定 XML 文件中 <bean/> 的装配路径。

2. 使用注解开发

  • Spring 4 之后的注解开发,必须导入 aop 包。

    在这里插入图片描述

  • 导入 context 约束,增加注解的支持。

  • 常用注解

    • @Component : 组件,放在类上,说明这个类被 Spring 管理了。
    • @Repository : dao 层,将类注册到 Spring 中。
    • @Service :service 层,将类注册到 Spring 中。
    • @Controller : Controller 层,将类注册到 Spring 中。
    • @Scope : 设置 Bean 的作用域,如 @Scope("singleton") 设置 Bean 为单例模式。
  • 小结

    • XML 更加万能,适用于任何场合,维护简单方便。
    • 注解 不是自己的类无法使用,维护相对复杂。
    • 最佳实践:
      • xml 用来管理 bean
      • 注解 负责属性注入

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

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

相关文章

2023微信头像生成小程序,国庆头像生成,基于skyline+vue3+t

微信头像生成小程序&#xff0c;基于skylinevue3t该项目已适配微信小程序隐私政策&#xff0c;截图、获取头像等诸多新的接口 如何使用&#xff1a; 将代码导入到HBuilderX开发工具&#xff0c; 可无需修改任何代码&#xff0c;运行并编译到微信开发者工具 skyline需要使用微…

layui中使用JavaScript监听下拉框(select)的变化,根据选中的值来决定是否显示或隐藏input元素

HTML代码 <div class"layui-form-item" id"rubric"><label class"layui-form-label">前端说明</label><div class"layui-input-inline"><input type"text" id"user_rubric" name"…

页面添加遮罩层

1.css代码 // 子绝父相.self-check-tag {display: inline-block;min-width: 132px;height: 32px;position: relative;.overlay {position: absolute;top: 0;left: 0;width: 100%;height: 100%;background-color: gray;opacity: 0.1;}2.效果

QT windows dpi变化导致的界面异常处理

问题&#xff1a;已经在UI界面中利用布局设计好界面&#xff0c;但是运行程序后显示的界面出现错乱&#xff0c;而且在做出一些修改后重新构建&#xff0c;运行时界面无变化。 目录 一、解决UI设计界面与运行时显示界面不一致的问题 1、导致该现象的原因有&#xff1a;显示屏…

[Linux] 3.Linux下编码和执行文件

Ctrl Alt T快捷键调出命令终端 输入xrandr指令把现有的电脑分辨率列出来 &#xff0c;xrandr -s 分辨率可以调节至想要的分辨率 调节字体大小&#xff1a;Ctrl Shift “”或Ctrl Shift “-” 使字体变大变小 拖动窗口右下角可调节窗口大小 Ctrl “L”清屏 编写C代码文件:…

【数据结构】散列表(哈希表)的学习知识总结

目录 1、散列表 2、散列函数 2.1 定义 2.2 散列函数的构造 2.2.1 除留余数法 2.2.2 直接定址法 2.2.3 数字分析法 2.2.4 平方取中法 3、冲突&#xff08;碰撞&#xff09; 4、处理冲突的方法 4.1 拉链法&#xff08;链接法&#xff09; 4.2 开放定址法 5、C语言…

电缆直埋、电缆沟、电缆井大样图

一、图纸下载&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1_SUnhFHMUY8Q_kkhgzscDQ?pwd8888 提取码&#xff1a;8888 二、部分图纸预览

GoogLeNet网络

目录 1. 创新点 1.1 引入Inception结构 1.2 11卷积降维 1.3 两个辅助分类器 1.4 丢弃全连接层&#xff0c;使用平均池化层 2. 网络结构 3. 知识点 3.1 torch.cat 3.2 关于self.training 3.3 关于load_state_dict中的strict 4. 代码 4.1 model.py 4.2 train.py …

MQ - 30 基础功能:死信队列的设计

文章目录 导图概述什么是死信队列死信队列实现的技术方案死信队列的存储目标死信队列的方案设计生产死信队列消费死信队列Broker 的死信队列主流消息队列的死信功能RocketMQRabbitMQ总结导图 概述 在日常业务的消费数据过程中,如果遇到数据无法被正确处理,就需要先手动把消息…

202309解决新版Animate Diff报错问题

在安装最新版的Animate Diff的时候发现报错了 ImportError: cannot import name images_tensor_to_samples from modules.sd_samplers_common (W:\A1111\stable-diffusion-webui\modules\sd_samplers_common.py)原因很简单&#xff0c;Animate diff已经适配了新版webui1.6 所以…

基于LQR算法的一阶倒立摆控制

1. 一阶倒立摆建模 2. 数学模型 倒立摆的受力分析网上有很多&#xff0c;这里就不再叙述。直接放线性化后的方程&#xff1a; F (Mm)x″-mLφ″ (ImL)φ″ mLx″ mgLφ&#xff08;F为外力&#xff0c;x为物块位移&#xff0c;M&#xff0c;m为物块和摆杆的质量&#xff0c;…

计算机是怎么跑起来的(2)?程序如何驱动硬件工作的?

上文计算机是怎么跑起来的?从零开始手动组装微型计算机我们说了&#xff0c;如何手动从来组装一台计算机&#xff0c;那组装完后的计算机上是怎么跑起来程序的呢&#xff1f;程序是如何驱动硬件工作的&#xff1f; 前面我们通过DMA将代码输入到内存的指定位置&#xff0c;然后…

JavaWeb 学习

1. 基本概念 1.1 Web web&#xff1a;网络&#xff0c;网页 静态 web html&#xff0c;css提供给所有人看的数据始终不会变化 动态 web 淘宝提供给每个人看的数据会有所不同技术栈&#xff1a;Servlet/JSP&#xff0c;ASP&#xff0c;PHP Java 中&#xff0c;动态 web 资…

如何通过优化Read-Retry机制降低SSD读延迟?

近日,小编发现发表于2021论文中,有关于优化Read-Retry机制降低SSD读延迟的研究,小编这里给大家分享一下这篇论文的核心的思路,感兴趣的同学可以,可以在【存储随笔】VX公号后台回复“Optimizing Read-Retry”获取下载链接。 本文中主要基于Charge Trap NAND架构分析。NAND基…

[C++网络协议] 优于select的epoll

1.epoll函数为什么优于select函数 select函数的缺点&#xff1a; 调用select函数后&#xff0c;要针对所有文件描述符进行循环处理。每次调用select函数&#xff0c;都需要向该函数传递监视对象信息。 对于缺点2&#xff0c;是提高性能的最大障碍。因为&#xff0c;套接字是…

python+vue驾校驾驶理论考试模拟系统

管理员的主要功能有&#xff1a; 1.管理员输入账户登陆后台 2.个人中心&#xff1a;管理员修改密码和账户信息 3.用户管理&#xff1a;管理员可以对用户信息进行添加&#xff0c;修改&#xff0c;删除&#xff0c;查询 4.添加选择题&#xff1a;管理员可以添加选择题目&#xf…

读高性能MySQL(第4版)笔记15_备份与恢复(下)

1. 二进制日志 1.1. 服务器的二进制日志是需要备份的最重要元素之一 1.2. 对于基于时间点的恢复是必需的&#xff0c;并且通常比数据要小&#xff0c;所以更容易被进行频繁的备份 1.3. 如果有某个时间点的数据备份和所有从那时以后的二进制日志&#xff0c;就可以重放从上次…

MySQL数据库入门到精通8--进阶篇( MySQL管理)

7. MySQL管理 7.1 系统数据库 Mysql数据库安装完成后&#xff0c;自带了一下四个数据库&#xff0c;具体作用如下&#xff1a; 7.2 常用工具 7.2.1 mysql 该mysql不是指mysql服务&#xff0c;而是指mysql的客户端工具。 语法 &#xff1a; mysql [options] [database] 选…

NumPy数值计算

1、Numpy概念 1.1Numpy是什么&#xff1f; Numpy是&#xff08;Numerical Python的缩写&#xff09;&#xff1a;一个开源的Python科学计算库使用NumPy可以方便的使数组、矩阵进行计算包含线性代数、傅里叶变换、随机数生成等大量函数 1.2为什么使用Numpy 对于同样的数值计…

Windows打开:控制面板\网络和 Internet\网络连接 显示空白怎么办?

Windows打开&#xff1a;控制面板\网络和 Internet\网络连接 显示空白怎么办&#xff1f; 最近有用户反馈遇到这个问题&#xff0c;问题产生原因&#xff1a;在卸载某个软件的时候&#xff0c;系统提示需要重新启动计算机&#xff0c;但是&#xff0c;启动之后&#xff0c;就…