如一个类中包含另一个类的数组,LIST,SET,MAP 在Spring中配置会是怎样呢?例子如下
一个Stu类
public class Stu {
private String stuName;
private Integer stuAge;
public Integer getStuAge() {
return stuAge;
}
public void setStuAge(Integer stuAge) {
this.stuAge = stuAge;
}
public String getStuName() {
return stuName;
}
public void setStuName(String stuName) {
this.stuName = stuName;
}
}
//一个USER类
public class User {
private String userName;
private Integer age;
private Stu[] stus1;
private List stus2;
private Set stus3;
private Map stus4;
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public Stu[] getStus1() {
return stus1;
}
public void setStus1(Stu[] stus1) {
this.stus1 = stus1;
}
public List getStus2() {
return stus2;
}
public void setStus2(List stus2) {
this.stus2 = stus2;
}
public Set getStus3() {
return stus3;
}
public void setStus3(Set stus3) {
this.stus3 = stus3;
}
public Map getStus4() {
return stus4;
}
public void setStus4(Map stus4) {
this.stus4 = stus4;
}
}
//spring配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="astu" class="org.nieweiguo.Stu" abstract="false"
singleton="true" lazy-init="default" autowire="constructor"
dependency-check="default">
<property name="stuName">
<value>阿猫</value>
</property>
<property name="stuAge">
<value>18</value>
</property>
</bean>
<bean id="astu2" class="org.nieweiguo.Stu" abstract="false"
singleton="true" lazy-init="default" autowire="constructor"
dependency-check="default">
<property name="stuName">
<value>阿狗</value>
</property>
<property name="stuAge">
<value>28</value>
</property>
</bean>
<bean id="user" class="org.nieweiguo.User" abstract="false"
singleton="true" lazy-init="default" autowire="constructor"
dependency-check="default">
<property name="userName">
<value>nieweiguo</value>
</property>
<property name="age">
<value>25</value>
</property>
<property name="stus1">
<list>
<ref bean="astu" />
<ref bean="astu" />
<ref bean="astu" />
</list>
</property>
<property name="stus2">
<list>
<ref bean="astu2" />
<ref bean="astu2" />
<ref bean="astu2" />
</list>
</property>
<property name="stus3">
<set>
<ref bean="astu" />
<ref bean="astu2" />
</set>
</property>
<property name="stus4">
<map>
<entry key="stu1">
<ref bean="astu" />
</entry>
<entry key="stu2">
<ref bean="astu2" />
</entry>
</map>
</property>
</bean>
</beans>
//TEST类
public class testSpring {
/**
* @param args
*/
public static void main(String[] args) {
ApplicationContext context =new FileSystemXmlApplicationContext("src/applicationContext.xml");
User user=(User)context.getBean("user");
//对象数组得到显示
Stu[] stus1=(Stu[])user.getStus1();
for(int i=0;i<stus1.length;i++)
{
System.out.println(stus1.getStuName());
}
//LIST得到显示
List stus2=user.getStus2();
for(int i=0;i<stus2.size();i++)
{
System.out.println(((Stu)stus2.get(i)).getStuName());
}
//Set 得到显示
Set stus3=user.getStus3();
Object stuso3[]=(Object[])stus3.toArray();
for(int i=0;i<stuso3.length;i++)
{
Stu a=(Stu)stuso3;
System.out.println(a.getStuName());
}
//Map得到显示
Map stus4=user.getStus4();
Stu a=(Stu)stus4.get("stu1");
Stu b=(Stu)stus4.get("stu2");
System.out.println(a.getStuName()+"aaaa");
System.out.println(a.getStuName()+"bbb");
}
}
输出结果如下:
log4j:WARN No appenders could be found for logger (org.springframework.core.CollectionFactory).
log4j:WARN Please initialize the log4j system properly.
阿猫
阿猫
阿猫
阿狗
阿狗
阿狗
阿猫
阿狗
阿猫aaaa
阿猫bbb
还可以定义一个类的 初始化方法。
<bean id="user" class="org.nieweiguo.User" abstract="false"
singleton="true" lazy-init="default" autowire="constructor"
dependency-check="default" init-method="init">
</bean>
在类中 可以这样写
public void init()
{
this.userName="anie";
this.age=25;
}
分享到:
相关推荐
NULL 博文链接:https://xiaogui9317170.iteye.com/blog/286401
本文主要给大家介绍了关于Angular.js前台传list数组由后台spring MVC接收数组的相关内容,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍吧。 在开发中有时候需要在前台自定义对象,然后把对象封装在...
下面小编就为大家分享一篇springmvc 传递和接收数组参数的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
前端使用jquery向后台传递数组类型的参数,Java后台直接通过List类型接收,会发现无法取到参数。
import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class MyTest { private final static String removeValue = ... List stringList = new ArrayList(); stringList.add("xia
获取springbean对象
最近由于工作上的需要,遇到进制转换的问题。涉及到的进制主要是 十进制,十六进制,二进制中间的转换。还包括了一个字节数组 与十六进制字符串的互相转换。估计遇到蓝牙通信的朋友,应该用的上。
//遍历选中的对象 $("#feeList :checkbox:checked").each(function(i){ vipFee.push({"enterpriseSeq":$(this).attr("enterpriseSeq"),"merchNo":$(this).val(),"serviceFee":$(this).attr("fqbFee")}); }); //...
Spring实现集合(List_Map_Set)_自动装配,适合初学者熟悉集合类型的装配。
poi解析excel功能参数说明 ...这个与上面工具类类似,不过这个是解析本地excel文件不是使用的流,使用迭代遍历sheet工作簿与每行每列的值,将所有类型作为String类型处理返回一个json对象输出至控制台
spring-demo03-spring创建对象的5种方式.zip
我们学习了spring框架spring框架里面有3个优势第一个是轻量级的IOC也叫控制反转后来改名为DI也叫依赖注入,依赖注入里面有3中注入方法分别是set注入,构造器注入,注解注入,我传的是set注入的视频
springboot结合mongodb使用,对mongodb进行增删改查实例
利用Spring Context上下文创建自定义对象,学习Spring的IoC容器如何使用控制反转创建一个对象,了解Spring控制反转原理
使用spring的依赖注入,来实现servlet中注入dao层
主要介绍了springMVC前台传数组类型,后台用list类型接收实例代码,具有一定借鉴价值,需要的朋友可以参考下。
spring创建对象的三种方式
NULL 博文链接:https://jinnianshilongnian.iteye.com/blog/1613222
介绍spring的对象管理技术,spring的依赖注入,spring的值传递