Spring——依赖注入类型
以例子说明:
一、新建Student类,声明各属性,创建成JavaBean:
1 package spring; 2 3 import java.util.List; 4 import java.util.Map; 5 import java.util.Properties; 6 import java.util.Set; 7 8 public class Student { 9 private int sid; 10 private String sname; 11 private String sex; 12 private StuClass stuClass; 13 14 private Set course; 15 private Set<StuClass> classSet; 16 17 private Map C2S; 18 19 private List score; 20 private List<StuClass> classList; 21 22 private Properties properties; 23 24 public int getSid() { 25 return sid; 26 } 27 28 public void setSid(int sid) { 29 this.sid = sid; 30 } 31 32 public String getSname() { 33 return sname; 34 } 35 36 public void setSname(String sname) { 37 this.sname = sname; 38 } 39 40 public String getSex() { 41 return sex; 42 } 43 44 public void setSex(String sex) { 45 this.sex = sex; 46 } 47 48 public StuClass getStuClass() { 49 return stuClass; 50 } 51 52 public void setStuClass(StuClass stuClass) { 53 this.stuClass = stuClass; 54 } 55 56 public Set getCourse() { 57 return course; 58 } 59 60 public void setCourse(Set course) { 61 this.course = course; 62 } 63 64 public Set<StuClass> getClassSet() { 65 return classSet; 66 } 67 68 public void setClassSet(Set<StuClass> classSet) { 69 this.classSet = classSet; 70 } 71 72 public Map getC2S() { 73 return C2S; 74 } 75 76 public void setC2S(Map c2s) { 77 C2S = c2s; 78 } 79 80 public List getScore() { 81 return score; 82 } 83 84 public void setScore(List score) { 85 this.score = score; 86 } 87 88 public List<StuClass> getClassList() { 89 return classList; 90 } 91 92 public void setClassList(List<StuClass> classList) { 93 this.classList = classList; 94 } 95 96 public Properties getProperties() { 97 98 Set<Object> keys = properties.keySet(); 99 for (Object key : keys) { 100 String value = properties.getProperty((String)key); 101 System.out.println("getProperties():" + key + " = "+value); 102 } 103 104 return properties; 105 } 106 107 public void setProperties(Properties properties) { 108 this.properties = properties; 109 } 110 111 @Override 112 public String toString() { 113 return "Student [sid=" + sid + ", sname=" + sname + ", sex=" + sex + ", stuClass=" + stuClass + ", course=" 114 + course + ", classSet=" + classSet + ", C2S=" + C2S + ", score=" + score + ", classList=" + classList 115 + ", properties=" + properties + "]"; 116 } 117 }
二、在xml文件中采取依赖注入的方式动态赋值:
1 <!-- 班级bean............开始 --> 2 <bean id="class1" class="spring.StuClass"> 3 <property name="cid" value="1000"></property> 4 <property name="cname" value="JAVA"></property> 5 </bean> 6 7 <bean id="class2" class="spring.StuClass"> 8 <property name="cid" value="2000"></property> 9 <property name="cname" value="C#"></property> 10 </bean> 11 12 <bean id="class3" class="spring.StuClass"> 13 <property name="cid" value="3000"></property> 14 <property name="cname" value="C++"></property> 15 </bean> 16 <!-- 班级bean............结束 --> 17 18 <!-- 学生bean --> 19 <bean id="zhangsan" class="spring.Student"> 20 <!-- 基本类型注入 --> 21 <property name="sid" value="001"></property> 22 <!-- <property name="sid"><value>001</value></property> --> 23 24 <!-- null类型注入 --> 25 <property name="sname"> 26 <!-- <value>null</value> 字符串 --> 27 <null></null><!-- null类型 --> 28 </property> 29 30 <!-- ""空字符串注入 --> 31 <property name="sex"> 32 <value></value> 33 </property> 34 35 <!-- 引用类型注入 --> 36 <property name="stuClass"> 37 <ref bean="class1"></ref> 38 </property> 39 40 <!-- set集合注入:无序无重复 --> 41 <property name="course"> 42 <set> 43 <value>java</value> 44 <value>php</value> 45 <value>c#</value> 46 <value>vb</value> 47 <value>c++</value> 48 <value>java</value><!-- 重复值 --> 49 </set> 50 </property> 51 <property name="classSet"> 52 <set> 53 <ref bean="class1"/> 54 <ref bean="class2"/> 55 <ref bean="class3"/> 56 </set> 57 </property> 58 <!-- Map集合注入 --> 59 <property name="C2S"> 60 <map> 61 <entry key="java" value="90"></entry> 62 <entry key="C#" value="99"></entry> 63 <entry key="C++" value="100"></entry> 64 </map> 65 </property> 66 <!-- list集合注入:有序有重复 --> 67 <property name="score"> 68 <list> 69 <value>77</value> 70 <value>88</value> 71 <value>99</value> 72 </list> 73 </property> 74 <property name="classList"> 75 <list> 76 <ref bean="class1"/> 77 <ref bean="class2"/> 78 <ref bean="class3"/> 79 </list> 80 </property> 81 <!-- Properties注入 --> 82 <property name="properties"> 83 <props> 84 <prop key="username">tomcat</prop> 85 <prop key="password">123456</prop> 86 </props> 87 </property> 88 </bean>
转载于:https://www.cnblogs.com/ccw95/p/6123166.html
Spring——依赖注入类型相关推荐
- Spring依赖注入的方式、类型、Bean的作用域、自动注入、在Spring配置文件中引入属性文件...
1.Spring依赖注入的方式 通过set方法完成依赖注入 通过构造方法完成依赖注入 2.依赖注入的类型 基本数据类型和字符串 使用value属性 如果是指向另一个对象的引入 使用ref属性 User ...
- Spring依赖注入的模式和类型
依赖注入类型 依赖注入类型 配置元数据举例 Setter 方法 <proeprty name="user" ref="userBean"/> 构造器 ...
- arg是什么函数_java后端开发三年!你还不了解Spring 依赖注入,凭什么给你涨薪...
前言 前两天和一个同学吃饭的时候同学跟我说了一件事,说他公司有个做了两年的人向他提出要涨薪资,他就顺口问了一个问题关于spring依赖注入的,那个要求涨薪的同学居然被问懵了...事后回家想了想这一块确 ...
- spring 依赖注入
Technorati 标记: spring,依赖注入,DI,ioc 平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的 ...
- java接口注入对象的意义_Java Web系列:Spring依赖注入基础
一.Spring简介 1.Spring简化Java开发 Spring Framework是一个应用框架,框架一般是半成品,我们在框架的基础上可以不用每个项目自己实现架构.基础设施和常用功能性组件,而是 ...
- spring依赖注入_Spring源码阅读:Spring依赖注入容器
依赖注入 依赖注入是Spring框架最核心的能力,Spring框架提供的AOP,WebMVC等其它功能都是以依赖注入容器作为基础构建的,Spring依赖注入容器类似于一个用于组装对象的框架内核,任何应 ...
- diy实现spring依赖注入
[README] 本文diy代码实现了 spring 依赖注入,一定程度上揭示了依赖注入原理: [1]控制反转-Inversion of Control 是一种编码思想,简而言之就是 应用程序A可以使 ...
- spring依赖注入_Spring依赖注入
spring依赖注入 介绍: 在设计良好的Java应用程序中,这些类应尽可能独立. 这样的设计提高了组件的可重用性. 它还使对各个组件进行单元测试变得更加容易. 依赖注入的概念促进了Java对象之间的 ...
- Spring依赖注入–字段vs设置器vs构造函数注入
欢迎使用Spring Dependency Injection –字段,设置器,构造函数注入教程. 了解场注入 , 二传手注入和构造函数注入之间的区别. 借助代码示例,我们将看到使用每个示例的好处以及 ...
最新文章
- python 文件大小,获取时间
- 【MVC】Controller的使用
- 【笔记】Hexo+Github博客网站搭建,初试环境搭建及Matery主题配置感受
- Byte Cup 2018国际机器学习竞赛夺冠记
- 世界上有三样东西不能相信(引用)心胸狭窄的男人勿看
- 「ROI 2017 Day 2」反物质(单调队列优化dp)
- web.xml上监听器作用
- 后渗透后门_TheFatRat:Msfvenom傻瓜化,小白也可以学渗透
- [c/c++] c 操作mysql数据库
- R语言之——字符串处理函数
- Pyston v2 发布:比 Python 快 20%
- oa系统服务器数据库,oa数据库和服务器
- 带你如何使用npm下载包
- 【JAVA视频压缩】-------轻量级视频压缩组件JAVE
- [每日一氵] Python内部创建一个进程,等用完再结束掉他
- 《王牌特工2:黄金圈》观后感
- 《视觉SLAM十四讲》笔记(1-3)
- HTML+CSS制作人物介绍卡片效果
- 本地OCR文字识别DLL/本地通用验证码识别DLL/通用滑块识别/文字点选/图标点选/本地识别DLL
- 通行时间可调的两路口交通灯设计实验(基于Multisim仿真)
热门文章
- Win 10操作系统环境下python3.7 实现sklearn 安装
- 《生活随笔》相关内容将转移到个人微信公众号,本博客专注技术内容。
- 全球及中国原料药产业投资动态及未来运行前景分析报告2021-2027年
- 中国智能控制器行业运营分析与竞争趋势展望报告2022-2027年版
- 全球及中国抓紧器行业十四五发展态势及前景规划建议报告2021-2027年版
- [机器学习]梯度提升决策树--GBDT
- jQuery序列化表单 serialize() serializeArray()
- easyUI Combobox自定义调整支持中文模糊查询
- javascript中神奇的(+)加操作符
- git配置服务器版仓库