文章目录
基本数据类型
JavaBean类
public class User {
public User(String name) {
System.out.println("属性name" + name);
}
}
- 基本数据类型和它们的包装类以及String类
配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="user" class="com.wl.spring.User" >
<constructor-arg name="name" value="张三"></constructor-arg>
</bean>
</beans>
测试代码
public class StartSpring {
public static void main(String[] args) {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
}
}
结果
七月 08, 2019 10:01:23 下午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh
信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@300ffa5d: startup date [Mon Jul 08 22:01:23 CST 2019]; root of context hierarchy
七月 08, 2019 10:01:23 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from class path resource [applicationContext.xml]
属性name张三
自定义数据类型
JavaBean类
public class User {
private Student student;
public User(Student student) {
System.out.println("属性student" + student);
this.student = student;;
}
}
public class Student {
}
配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="student" class="com.wl.spring.Student"></bean>
<bean id="user" class="com.wl.spring.User" >
<constructor-arg name="student" ref="student"></constructor-arg>
</bean>
</beans>
测试代码
public class StartSpring {
public static void main(String[] args) {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
}
}
结果
七月 08, 2019 10:07:19 下午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh
信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@300ffa5d: startup date [Mon Jul 08 22:07:19 CST 2019]; root of context hierarchy
七月 08, 2019 10:07:19 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from class path resource [applicationContext.xml]
属性student:com.wl.spring.Student@7946e1f4
数组和集合类型(List,Set)
数组
JavaBean类
public class User {
public User(String[] names) {
for (String name : names) {
System.out.println(name);
}
}
}
配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="user" class="com.wl.spring.User" >
<constructor-arg >
<array>
<value>张三</value>
<value>李四</value>
<value>王五</value>
</array>
</constructor-arg>
</bean>
</beans>
测试代码
public class StartSpring {
public static void main(String[] args) {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
}
}
结果
七月 08, 2019 10:15:59 下午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh
信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@300ffa5d: startup date [Mon Jul 08 22:15:59 CST 2019]; root of context hierarchy
七月 08, 2019 10:15:59 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from class path resource [applicationContext.xml]
张三
李四
王五
集合(以Set集合为例)
JavaBean类
User类
public class User {
public User(Set<Student> students) {
for (Student student : students) {
System.out.println(student);
}
}
}
Student类
public class Student {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Student [name=" + name + "]";
}
}
配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="student1" class="com.wl.spring.Student">
<property name="name" value="李华" />
</bean>
<bean id="student2" class="com.wl.spring.Student">
<property name="name" value="王小明" />
</bean>
<bean id="user" class="com.wl.spring.User" >
<constructor-arg name="students">
<set>
<ref bean="student1"/>
<ref bean="student2"/>
<bean id="student3" class="com.wl.spring.Student">
<property name="name" value="张大彪" />
</bean>
</set>
</constructor-arg>
</bean>
</beans>
测试代码
public class StartSpring {
public static void main(String[] args) {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
}
}
结果
七月 08, 2019 10:26:31 下午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh
信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@300ffa5d: startup date [Mon Jul 08 22:26:31 CST 2019]; root of context hierarchy
七月 08, 2019 10:26:31 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from class path resource [applicationContext.xml]
Student [name=李华]
Student [name=王小明]
Student [name=张大彪]
Map类型
HashMap类型
JavaBean类
User类
public class User {
public User(Map<Student,Integer> map) {
Set<Student> keys = map.keySet();
for (Student key : keys) {
System.out.println("键:" + key);
System.out.println("值:" + map.get(key));
}
}
}
Student类
public class Student {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Student [name=" + name + "]";
}
}
配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="student1" class="com.wl.spring.Student">
<property name="name" value="李华" />
</bean>
<bean id="student2" class="com.wl.spring.Student">
<property name="name" value="王小明" />
</bean>
<bean id="user" class="com.wl.spring.User" >
<constructor-arg name="map">
<map>
<entry key-ref="student1" value="18"></entry>
<entry key-ref="student2" value="19"></entry>
<entry>
<key>
<bean id="student3" class="com.wl.spring.Student">
<property name="name" value="张大彪" />
</bean>
</key>
<value>20</value>
</entry>
</map>
</constructor-arg>
</bean>
</beans>
注意:这里的key可以在标签中定义一各bean但是value中不可以,所以如果是map的key和value都是自定义类型,先把自定义的bean定义出来,但是赋值的时候只能在在标签的属性中传入引用,就如student1的形式
测试代码
public class StartSpring {
public static void main(String[] args) {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
}
}
结果
七月 08, 2019 10:36:34 下午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh
信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@300ffa5d: startup date [Mon Jul 08 22:36:34 CST 2019]; root of context hierarchy
七月 08, 2019 10:36:34 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from class path resource [applicationContext.xml]
键:Student [name=李华]
值:18
键:Student [name=王小明]
值:19
键:Student [name=张大彪]
值:20
Property类型
JavaBean类
User类
public class User {
public User(Properties properties) {
System.out.println(properties.getProperty("student1"));
System.out.println(properties.getProperty("student2"));
}
}
配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="user" class="com.wl.spring.User" >
<constructor-arg name="properties">
<props>
<prop key="student1">学生一</prop>
<prop key="student2">学生二</prop>
</props>
</constructor-arg>
</bean>
</beans>
测试代码
public class StartSpring {
public static void main(String[] args) {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
}
}
结果
七月 08, 2019 10:47:03 下午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh
信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@300ffa5d: startup date [Mon Jul 08 22:47:03 CST 2019]; root of context hierarchy
七月 08, 2019 10:47:03 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from class path resource [applicationContext.xml]
学生一
学生二
```