首页 > 其他分享 >依赖项构造方法注入示例

依赖项构造方法注入示例

时间:2023-01-17 20:22:20浏览次数:41  
标签:依赖 name 构造方法 示例 .... public Employee id 构造函数

我们可以通过构造函数注入依赖项。 <bean>的 <constructor-arg>子元素用于构造函数注入。在这里,我们要注入

原始和基于字符串的值从属对象(包含对象)集合值等

注入原始值和基于字符串的值

让我们看一下注入原始值和基于字符串的简单示例价值观。我们在这里创建了三个文件:

Employee.java

Employee.java

这是一个简单的类,包含两个字段id和name。此类中有四个构造函数和一个方法。

package com.nhooo;
public class Employee {
private int id;
private String name;
public Employee() {System.out.println("def cons");}
public Employee(int id) {this.id = id;}
public Employee(String name) { this.name = name;}
public Employee(int id, String name) {
    this.id = id;
    this.name = name;
}
void show(){
    System.out.println(id+" "+name);
}
}

 

注入基于字符串的值

如果您未在构造函数arg元素中指定type属性,则默认情况下将调用字符串类型构造函数。

....
<bean id="e" class="com.nhooo.Employee">
<constructor-arg value="10"></constructor-arg>
</bean>
....

如果如上所述更改bean元素,则将调用字符串参数构造函数,并且输出将为0 10。

输出: 0 10

您还可以按如下所示传递字符串文字:

....
<bean id="e" class="com.nhooo.Employee">
<constructor-arg value="Sonoo"></constructor-arg>
</bean>
....

输出: 0 Sonoo

您可以按以下方式传递整数文字和字符串

....
<bean id="e" class="com.nhooo.Employee">
<constructor-arg value="10" type="int" ></constructor-arg>
<constructor-arg value="Sonoo"></constructor-arg>
</bean>
....

输出: 10 Sonoo

applicationContext.xml

applicationContext.xml

我们通过此文件将信息提供给Bean。

constructor-arg元素调用构造函数。

在这种情况下,将调用int类型的参数化构造函数。

Constructor-arg元素的value属性将分配指定的值。

type属性指定将调用int参数构造函数。

<?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:p="http://www.springframework.org/schema/p"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
                http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="e" class="com.nhooo.Employee">
<constructor-arg value="10" type="int"></constructor-arg>
</bean>
</beans>

 

Test.java

Test.java

此类从applicationContext.xml文件获取Bean并调用show方法。

package com.nhooo;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.*;
public class Test {
    public static void main(String[] args) {
        
        Resource r=new ClassPathResource("applicationContext.xml");
        BeanFactory factory=new XmlBeanFactory(r);
        
        Employee s=(Employee)factory.getBean("e");
        s.show();
        
    }
}
输出: 10空



 

标签:依赖,name,构造方法,示例,....,public,Employee,id,构造函数
From: https://www.cnblogs.com/cnetsa/p/17058645.html

相关文章

  • Python tkinter 示例
    运行结果如下:    codefromtkinterimport*fromtkinterimportmessageboxasmbimportjsonclassQuiz:def__init__(self):self.qno=0......
  • 小满nestjs(第二章 IOC控制反转 DI依赖注入)
    在学习nestjs之前需要先了解其设计模式IOCInversionofControl字面意思是控制反转,具体定义是高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该......
  • vector与list使用用法代码示例
    今天在分析amr解码时,发现用到了vector和list。考虑到这两种容器类使用的场景很多,想把他们的使用方法分享给读者。所以我单独抽离一部分单独编译,具体代码如下:#include<std......
  • 学习笔记——Spring底层IOC实现;Spring依赖注入数值问题;Spring依赖注入方式
    2023-01-14一、Spring底层IOC实现1、IOC:将对象的控制器反转给Spring2、BeanFactory与ApplicationContext(1)BeanFactory:IOC容器的基本实现,是Spring内部的使用接口,是面向......
  • Spring 依赖注入
    依赖注入(DI)是一种设计模式,可以从编程代码中删除依赖,以便可以轻松管理和测试应用程序。依赖注入使我们的编程代码松散耦合。为了更好地理解DI,让我们首先了解依赖关系查......
  • Spring 示例
    在这里,我们将学习创建第一个spring应用程序的简单步骤。要运行此应用程序,我们不使用任何IDE。我们只是在使用命令提示符。让我们看看创建spring应用程序的简单步骤创建J......
  • IDEA多模块maven项目子模块无法引用父模块依赖
    IDEA多模块maven项目子模块无法引用父模块依赖​​第一节问题​​​​第二节解决方案​​第一节问题当在IDEA创建一个maven项目后,并在该项目下新建一个moudle后,使得前一......
  • 给你避坑 这样子继承的话 这个类的构造方法 没包括继承父类的那些属性
     给你避坑这样子继承的话这个类的构造方法 没包括继承父类的那些属性,此时得重写构造方法    ......
  • MyBatis详细使用示例
    MyBatis的查询查询一个实体类对象<!--UsergetUserById(@Param("id")intid);--><selectid="getUserById"resultType="User">select*fromt_userwhe......
  • 【Java】Java连接Mysql数据库的demo示例
    【Java】Java连接Mysql数据库的demo示例1.安装mysql数据库2.下载java-mysql-connector.jar包3.完成java配置4.写java代码运行测试1.安装mysql数据库这里不多重复,我主要讲......