Spring-Bean的依赖注入的数据类型

除了对象的引用可以注入,普通数据类型,集合等都可以在容器中进行注入

数据的三种数据类型

  • 普通数据类型
  • 引用数据类型
  • 集合数据类型

普通数据类型

  • public class UserDaoImpl implements UserDao {

    private String username;

    private int age;

    public void setUsersname(String usersname) {

    this.username = usersname;

    }

    public void setAge(int age) {

    this.age = age;

    }

    public void save() {

    System.out.println(username);

    System.out.println(age);

    System.out.println("save running.....");

    }

    }

xml核心配置文件

   <bean id="userDao" class="com.my.UserDaoImpl">
<property name="age" value="123"/>
<property name="usersname" value="zhangsan"/>
</bean>
<bean id="userService" class="com.my.service.UserImplService">
<!--这里的name是构造函数里面的参数userDao ref为容器中Bean的ID-->
<constructor-arg name="userDao" ref="userDao"></constructor-arg>
</bean>

测试

public class UserDemo {
@Test
public void mytest(){
ApplicationContext application = new ClassPathXmlApplicationContext("applicationContext.xml");
UserService userDao1 = (UserService) application.getBean("userService");
userDao1.save();
}
}

集合数据类型

   private Properties properties;

set方法

public void setProperties(Properties properties) {
this.properties = properties;
}

xml配置文件

<bean id="userDao" class="com.my.UserDaoImpl">
<property name="properties">
<props>
<prop key="p1">pppp2</prop>
<prop key="p2">pppp3</prop>
<prop key="p3">pppp4</prop>
</props>
</property>
</bean>

引用数据类型之map

声明变量

private Map<String, User> userMap;

Map里面的set方法

package com.my.domain;

public class User {
private String name;
private String addr;
public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getAddr() {
return addr;
} public void setAddr(String addr) {
this.addr = addr;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", addr='" + addr + '\'' +
'}';
}
}

MapXML配置文件(重点)

     <bean id="userDao" class="com.my.UserDaoImpl">
<property name="userMap">
<map>
<!--第一个key为map的key-->
<entry key="u1" value-ref="user1"/>
<entry key="u2" value-ref="user2"/>
</map>
</property>
</bean>
<bean id="user1" class="com.my.domain.User">
<property name="name" value="qwertyu"/>
<property name="addr" value="beijing"/>
</bean>
<bean id="user2" class="com.my.domain.User">
<property name="name" value="qwj"/>
<property name="addr" value="luvy"/>
</bean>

测试


public class UserDemo { @Test
public void mytest(){
ApplicationContext application = new ClassPathXmlApplicationContext("applicationContext.xml");
UserService userDao1 = (UserService) application.getBean("userService");
userDao1.save();
}
}

{{uploading-image-82062.png(uploading...)}}

Spring-Bean的依赖注入的数据类型的更多相关文章

  1. 给力啊!这篇Spring Bean的依赖注入方式笔记总结真的到位,没见过写的这么细的

    1. Bean的依赖注入概念 依赖注入(Dependency Injection):它是 Spring 框架核心 IOC 的具体实现.在编写程序时,通过控制反转,把对象的创建交给了 Spring,但是 ...

  2. spring几种依赖注入方式以及ref-local/bean,factory-bean,factory-method区别联系

    平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程 ...

  3. Spring Framework------>version4.3.5.RELAESE----->Reference Documentation学习心得----->Spring Framework的依赖注入和控制反转

    Dependency Injection and Inversion of Control 1.概述: 1.1相关概念 bean:由IoC容器所管理的对象,也即各个类实例化所得对象都叫做bean 控制 ...

  4. Spring学习(三)——Spring中的依赖注入的方式

    [前面的话] Spring对我太重要了,做个关于web相关的项目都要使用Spring,每次去看Spring相关的知识,总是感觉一知半解,没有很好的系统去学习一下,现在抽点时间学习一下Spring.不知 ...

  5. Spring学习(一)——Spring中的依赖注入简介【转】

      [前面的话] Spring对我太重要了,做个关于web相关的项目都要使用Spring,每次去看Spring相关的知识,总是感觉一知半解,没有很好的系统去学习一下,现在抽点时间学习一下Spring. ...

  6. spring六种种依赖注入方式

    平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程 ...

  7. spring 四种依赖注入方式以及注解注入方式

    平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程 ...

  8. JavaEE开发之Spring中的依赖注入与AOP

    上篇博客我们系统的聊了<JavaEE开发之基于Eclipse的环境搭建以及Maven Web App的创建>,并在之前的博客中我们聊了依赖注入的相关东西,并且使用Objective-C的R ...

  9. Srping - bean的依赖注入(Dependency injection)

    目录 1 概述 2 两种基本的依赖注入方式 2.1 构造函数方式 2.2Setter方式 3 其他依赖注入功能 3.1 <ref/>标签引用不同范围的bean 3.2 内部bean 3.3 ...

  10. JavaEE开发之Spring中的依赖注入与AOP编程

    上篇博客我们系统的聊了<JavaEE开发之基于Eclipse的环境搭建以及Maven Web App的创建>,并在之前的博客中我们聊了依赖注入的相关东西,并且使用Objective-C的R ...

随机推荐

  1. 上传了ipa但在苹果App Store中没有看到构建版本的问题

    ​ AU上传ipa出现下图红框提示说明成功上传,但有时App Store后台没有出现构建版本,请查看下面详细说明! ​编辑 一.首先登录iTunes Connect 后台.查看ipa构建情况 http ...

  2. Node工程的依赖包管理方式

    作者:京东零售 陈震 在前端工程化中,JavaScript 依赖包管理是非常重要的一环.依赖包通常是项目所依赖的第三方库.工具和框架等资源,它们能够帮助我们减少重复开发.提高效率并且确保项目可以正确的 ...

  3. Java全栈开发/API

    2023/4/16 记录我学习的网站 前端 vuejs axios异步请求 微信开发者文档 uniapp开发文档 快速参考备忘清单 免费前端接口 读取json vant4UI cubeUI mintU ...

  4. 文件上传漏洞靶场:upload-labs(附在线地址)

    重装系统:CentOS 7.6 密钥对验证,或密码验证,根据自身情况选择,博主这边为了ssh连接方便选用的密码校验. WindTerm登录系统 需提前去云服务器的安全组,开放22端口ssh连接. 更新 ...

  5. qiankun vue子应用升级webpack5问题记录

    升级的方式是使用最新版本的 vue-cli 脚手架,重新创建一个新项目,然后复制 @vue/cli-xxx , vue 相关依赖最新版本到子应用项目 -> 核对babel, eslint相关配置 ...

  6. 【H5】Emmet 指令 HTML

    Emmet操作指南 HTML篇 生成带有内容的标签 标签名{内容}可以生成带有内容的标签 div{abc} <div>abc</div> 生成带有属性的标签 生成带有class ...

  7. npm i 与 npm install 的区别

    我们在平时运用的时候一般用 npm i 来代替 npm install(为npm i 的简写) 但是在实际应用中两者是有些不同的(查阅总结): 1.使用npm i 安装的模块和依赖,使用npm uni ...

  8. 2021-03-07:在一个数组中,对于每个数num,求有多少个后面的数 * 2 依然<num,求总个数。比如:[3,1,7,0,2],3的后面有:1,0;1的后面有:0;7的后面有:0,2;0的后面没有;2的后面没有;所以总共有5个。

    2021-03-07:在一个数组中,对于每个数num,求有多少个后面的数 * 2 依然<num,求总个数.比如:[3,1,7,0,2],3的后面有:1,0:1的后面有:0:7的后面有:0,2:0 ...

  9. Rust如何引入源码作为依赖

    问题描述 通常我们在rust项目中引入第三方依赖包时,会直接指定包的版本,这种方式指定后,Cargo在编译时会从crates.io这个源中下载这些依赖包. [package] name = " ...

  10. vue+iview 动态调整Table的列顺序

    需求:因table列太多,且每个部门关注的信息不一样,拖来拖去不方便观看,客户想让Table列可以拖动,且可以保存顺序. 但是搞动态拖动太难了,我不会,于是改为操作columns数据 思路: < ...