Spring 依赖注入

2023-10-29

依赖注入方式:

1.构造器注入

2.setter注入

3.接口注入

maven   pom.xml配置

引入jar包和依赖jar

<packaging>jar</packaging>
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>5.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>5.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>5.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.1.2.RELEASE</version>
        </dependency>
    </dependencies>

一定要保持版本一样,不然后面注解注入@Component会报错 

配置spring-cfg.xml

<?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">
</beans>

1.构造器注入

public class Role {
    private Long id;
    private String roleName;
    private String note;

    public Role(){
    }

    public Role(Long id, String roleName, String note) {
        this.id = id;
        this.roleName = roleName;
        this.note = note;
    }

    public Long getId() {
        return id;
    }

    public String getRoleName() {
        return roleName;
    }

    public String getNote() {
        return note;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public void setRoleName(String roleName) {
        this.roleName = roleName;
    }

    public void setNote(String note) {
        this.note = note;
    }
}
	<bean id="role_3" class="Chapter10.pojo.Role">
		<constructor-arg index="0" value="1"/>
		<constructor-arg index="1" value="总经理"/>
		<constructor-arg index="2" value="公司管理者"/>
	</bean>

 

2.setter注入

    <bean id="role_1" class="Chapter10.pojo.Role">
//id为对象别名 class为定义的实体类位置
        <property name="id" value="1"/>
        <property name="note" value="note_1"/>
        <property name="roleName" value="role_name_1"/>
    </bean>

3.接口注入

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring 依赖注入 的相关文章

随机推荐

  • 炫彩烟雾火焰人头

    文章目录 一 效果图以及素材 二 制作步骤 一 效果图以及素材 效果图 素材 烟雾画笔获取地址 二 制作步骤 打开素材 打开素材用魔棒工具选择图片背景 反选 ctrl i 选中人物肖像 复制新的一层 ctrl j 点击背景层 填充黑色 回到
  • 虚拟机作用

    1 调试软件 你物理机是64位系统 OD过不了SE壳的检测 那么只能安装个32位来进行调试了 2 测试兼容性 你是辅助或者软件的作者 想测试一下自己的软件是否兼容各个系统 VM是你最好的选择 3 安全性 玩黑客软件 远控抓J 03系统下载走
  • 没有用过这些插件,别说你在用vscode!

    点击上方 前端小苑 选择 置顶公众号 精品技术文章 热门资讯第一时间送达 小黑 怎么了 小粉 愁眉苦脸的 小粉 刚刚一个问题找了半个小时 居然 小黑 居然怎么样 小粉 说了你不许笑我蠢 找了半个小时 居然因为少写了一个括号 小黑 哈哈哈 小
  • 如何在linux命令行(终端)执行ipynb 文件。可以不依赖jupyter。

    安装 runipy pip install runipy 终端执行ipynb runipy
  • Latent Dirichlet Allocation(LDA)主题模型算法实现及源码解析

    Latent Dirichlet Allocation LDA 主题模型算法实现及源码解析 变量说明 整个程序步骤如下图 代码解析 1 读入文档 首先要读入语料库中的文档 每个文件行 开头是一个数字 代表有多少单词 接着是id count的
  • OpenCV——图像按位运算

    一 算法概述 1 逻辑运算 OpenCV4 针对两个图像之间的 与 或 异或 以及 非 运算分别提供了bitwise and bitwise or bitwise xor bitwise not 函数 图像像素间的逻辑运算与数字间的逻辑运算
  • linux禁用ssh弱加密算法,ssh弱加密算法漏洞修复

    8种机械键盘轴体对比 本人程序员 要买一个写代码的键盘 请问红轴和茶轴怎么选 ssh弱加密算法漏洞修复 SSH弱加密算法漏洞修复 1 A security scan turned up two SSH vulnerabilities 1 S
  • ES工作原理

    文章目录 一 架构设计 二 工作流程 1 ES写数据过程 2 ES搜索数据过程 3 ES读数据过程 三 写数据底层原理 四 倒排索引 五 ES为什么查询效率很高 1 倒排索引 2 单词词典 3 单词索引 4 位图BitMap 一 架构设计
  • vector的使用及模拟实现

    目录 一 vector的介绍及使用 1 vector的介绍 2 vector的使用 1 vector的定义 2 vector iterator的使用 3 vector 空间增长问题 4 vector 增删查改 3 vector 迭代器失效问
  • C++57个入门知识点_34_虚函数的模拟实现-理解(利用函数指针替代virtual的虚函数功能;虚函数的本质即为函数的覆盖,子类一旦对父类同名成员函数重载,对象在调用时使用的是子类的函数)

    上篇C 57个入门知识点 33 深入理解虚函数的原理 重点 间接调用 先查虚表地址 再查虚表中的虚函数指针 编译器先取对象的前4个字节地址 再取对应地址下函数指针 查看内存 反汇编的方法 成员函数指针 介绍了虚函数的原理 本篇将会介绍虚函数
  • 基于TMMI团队建设路线

    TMMI类似于CMMI成长路线 今天总结一下个人的思路 团队质量目标 1 质量之于产品 犹如生命之于人 公司的品牌价值直接通过产品质量体现 所以说质量对一个公司是何等重要 针对公司领导对产品质量的定位 确定质量方针与质量目标 再根据质量目标
  • JVM总结之类加载

    目录 JVM 运行时区域 方法区 klass模型 Oop模型 类加载过程 JVM调优总结 JVM 运行时区域 方法区 当JVM的类装载器加载 class文件 并进行解析 把解析的类型信息放入方法区 运行时的常量池是方法区的一部分 堆 虚拟机
  • ubuntu下eclipse无法编译 /bin/sh: 1: g++ not found 解决办法

    linux下code blocks无法编译运行提示 bin sh 1 g not found 的解决办法 今天在ubuntu 12 04 软件中心中选装了codeblocks 安装完成后却连最简单的hello world 都无法编译运行 编
  • hadoop集群搭建(基于docker-compose)

    1 创建工作目录 比如 home hadoop 需要配置2个文件 data是挂载目录 会自动创建 2 hadoop env 内容不用改 基本是默认配置 后续修改配置在这修改就行了 配置详情自己百度下 CORE CONF fs default
  • 【毕设】基于CycleGAN的风格迁移【三】代码迁移到服务器(Linux)及环境搭建

    1 假设服务器上已经安装好anaconda 2 通过u盘把代码文件 文件名pytorch CycleGAN and pix2pix master 拷到Desktop 桌面 上 3 打开Terminal 会直接进入anaconda终端 Lin
  • 程序员ChatGPT提示模板

    作为一个程序员 您总是在寻找优化您的工作流程 提高您的技能以及获得关于复杂编程概念的专家指导的方法 这就是 ChatGPT 的用武之地 一种基于人工智能的语言模型 可以利用其丰富的数据库知识帮助您完成编程任务 使用 ChatGPT 您可以提
  • 逆水寒服务器维护多长时间,逆水寒11月8日更新维护 更新时间内容介绍

    逆水寒11月8日周四例行更新 下面给大家带来具体的更新时间和更新内容汇总 有需要的一起来看看吧 各位自在同门 深秋金岁 霞光剑影 江湖秋色已深 不知各位同门在行走江湖之际 是否会停下脚步看一看金明池的红叶 逆水寒的江湖中万般风景 切莫不可辜
  • C++和C#程序语言的区别

    一直学习C 和C 两者之间的区别总结一下 目录 一 两种语言概述 C 语言 C 语言 二 两种语言对比 2 1运行依赖
  • android addview后view不能更新数据_热搜View效果

    接下来将一步一步实现如下 热搜词 效果 效果图 思路 通过观察效果图可以看出这个热搜词效果自定义View它是一个接一个的摆放的 而且每当一行的热搜词总宽度大于控件宽度的时候就会另起一行 因此我们可以考虑使用一个大的自定义的LinearLay
  • Spring 依赖注入

    依赖注入方式 1 构造器注入 2 setter注入 3 接口注入 maven pom xml配置 引入jar包和依赖jar