Spring_DI利用set方法赋值Demo

Person.java

public class Person {
    private Long pid;
    private String pname;
    private Student student;
    private List list;
    private Set set;
    private Map map;
    private Properties properties;
//get和set方法
}

applicationContext.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4        xsi:schemaLocation="http://www.springframework.org/schema/beans
 5            http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
 6
 7 <bean name="person" class="cn.test.di.Person">
 8 <!--
 9             property就是代表属性
10               在spring中基本类型(包装类型和String)都可以用value来赋值
11                                      引用类型用ref赋值
12 -->
13     <property name="pid" value="5"></property>
14     <property name="pname" value="张三"></property><!-- 基本数据类型 -->
15     <property name="student" ref="student"></property><!-- 引用类型 -->
16     <property name="list">
17         <list>
18             <value>list1</value>
19             <value>list2</value>
20             <ref bean="student"/>
21         </list>
22     </property>
23
24     <property name="set">
25         <set>
26             <value>set1</value>
27             <value>set2</value>
28             <ref bean="student"/>
29         </set>
30     </property>
31     <property name="map">
32         <map>
33             <entry key="map1">
34                 <value>map1</value>
35             </entry>
36             <entry key="map2">
37                 <value>map2</value>
38             </entry>
39             <entry key="map3">
40                 <ref bean="student"/>
41             </entry>
42         </map>
43     </property>
44     <property name="properties">
45         <props>
46             <prop key="pro1">
47                 pro1
48             </prop>
49         </props>
50     </property>
51 </bean>
52 <bean name="student" class="cn.test.di.Student"></bean>
53 </beans>

测试

 1 @Test
 2     public void doSome(){
 3         ApplicationContext applicationContext=new ClassPathXmlApplicationContext("cn/test/di/applicationContext.xml");
 4         Person person= (Person) applicationContext.getBean("person");
 5         System.err.println(person.getPid());
 6         System.err.println(person.getPname());
 7         person.getStudent().say();
 8         List list=person.getList();
 9         for(int i=0;i<list.size();i++){
10             System.err.println(list.get(i).toString());
11         }

时间: 2024-12-20 01:17:43

Spring_DI利用set方法赋值Demo的相关文章

利用解构赋值获取后端特定字段数据

很多时候,后端接口传过来的数据并不正好是我们需要的.有些场景下会有很多不需要的字段. 这时如果采用单个赋值的方法赋值数据无疑会比较麻烦.解决的办法就是利用解构赋值. mounted(){ let objs ={ name:'test', sex:'nan', caree:'kaifa', height:180, country:'country' }; ({name:this.obj.name,caree:this.obj.caree}=objs); ({height:this.obj.heig

利用降维方法进行用户为基础的协同过滤优化

原文作者:新浪微博@王小科科科本文由36大数据翻译组-大海翻译,转载必须获得本站.原作者.译者的同意,拒绝任何不表明译者及来源的转载! 如何提高推荐算法的有效性?主要的方法是特征转化,模型选取,数据处理等等.降维是特征加工中的一个重要部分. 这篇博文主要讲述如何利用降维方法来提高以用户为基础的协同过滤方式,协同过滤依赖测量用户的相似性进行物品推荐.我会在接下来章节里阐述所用到的每一种方法. 1.基准值 这个数值的有效性来自R(均方根误差)的计算.我通过三种平均值计算方法设定系统基准值.第一,项目

利用动态方法修正贪婪算法中找硬币的问题

在博文:http://blog.csdn.net/qiwsir/article/details/31375449 中,讲述了如何用贪婪算法解决找硬币的问题,同时也指出了该方法存在的问题. 如何解决? 下面就是一个解决方案,在这里采用的是动态算法. def coinChange(centsNeeded, coinValues): minCoins = [[0 for j in range(centsNeeded + 1)] for i in range(len(coinValues))] minC

YUV420数据和字符信息如何利用滤镜方法进行编码?

YUV420数据和字符信息如何利用滤镜方法进行编码?我希望用ffmpeg中的filter方法,把YUV420数据和字符信息一起编码,该怎么办呢?本人目前只实现了把yuv420的数据进行h.264的编码了. 本人成功实现利用ffmpeg中的滤镜 filter功能,在码流中进行字符叠加,太不容易了!本人使用的是ffmpeg 1.0.7的代码部分代码如下://设定输出格式列表,支持PIX_FMT_YUV420P,PIX_FMT_GRAY8,PIX_FMT_RGB24//enum FFmpegPixFm

PHP利用魔术方法实现准AOP

PHP利用魔术方法实现准AOP 在 传统的OOP(面向对象编程:Object-Oriented Programming)思想里,一般把应用程序分解成若干个的对象,强调高内聚,弱耦合,从而提高应用程序的模块化程度,但是在处理某些问题的时 候,OOP会显得不够灵活,比如说,应用程序里很多业务逻辑都要在操作之初进行“权限检查”,在操作之后进行“日志记录”,如果直接把处理这些操作的代码 加入到每个模块中,那么无疑破坏了OOP的“单一职责”原则,模块的可重用性会大大降低,这时候传统的OOP设计往往采取的策

设计模式-工厂方法(Demo)

工厂方法 工厂方法跟简单工厂一样.都是创建型的设计模式.他解决了简单工厂的违背开放封闭的缺点. 故事 主人--人家做饭好累的.女仆抱着我大腿说着.自从上次把她买进家.没做了几次饭就喊累--看着她那出处可怜的眼神.罢了.再招几个女仆吧.话说还没给第一个女仆起名字.就叫'遥'吧.后来又招了'媛'和'悦'.然后让她们分别只做一道菜.遥做牛排.媛做红酒.悦做意大利面.这次每次我想吃牛排就直接跟遥说'吃饭',喝红酒就跟媛说'吃饭'而不用说吃什么了.因为她们每个人只做一道菜.以后要再想吃别的.就再招个女仆.

利用 send 方法计算多个数的平均数

利用 send 方法计算多个数的平均数,并且可以多次输入: def averager(): # 创建一个生成器函数 sum = 0 # 创建一个总数变量 count = 0 # 创建一个个数变量 avg = 0 # 创建一个平均数变量 while True: # while 循环 num = yield avg # 先执行 next,然后再执行 send,yield avg 接受 send 返给函数的值,传给 num. sum = sum + num # 第一次 sum = 0 + 10 (nu

通过反射对任意class类中方法赋值的方式

import org.apache.commons.lang3.StringUtils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.stereotype.Component; import java.lang.reflect.Method; @Componentpublic class SetPlatformUtils { private static final CoreSe

ES6新特性:利用解构赋值 (destructuring assignment), 简化代码

本文的Demo的运行环境为nodeJS, 参考:让nodeJS支持ES6的词法----babel的安装和使用 : 解构赋值是一种表达式, 利用这种新语法, 可以直接从数组或者对象中快速提取值 赋值给不同的变量, 利用这种写法的好处是减少了代码量, 一定程度优化了代码, 也有一点缺点就是阅读代码不再那么直观了. 解构赋值最简单的例子 <script> "use strict"; let [a,b,c] = [1,2,3]; console.log( a +"|&qu