spring2.5之后为了简化命名空间.xml文件的配置,引入p命名空间,需要先导入命名空间
来源:互联网 发布:读书笔记什么软件好 编辑:程序博客网 时间:2024/05/19 10:36
1:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
<!-- 配置bean class:bean的全类名,通过反射的方式在IOC容器实例化对象,中id是唯一的-->
<bean id="helloWorld" class="com.study.bean.HelloWorld">
<property name="name" value="Spring" />
</bean>
<!--通过构造方法配置属性 -->
<bean id="car" class="com.study.bean.Car">
<constructor-arg value="奔驰" type="java.lang.String"></constructor-arg>
<constructor-arg type="java.lang.String">
<!-- 如果字面值包含特殊字符可以使用<![CDATA[]]>包裹起来 -->
<value><![CDATA[<Shanghai^>]]></value>
</constructor-arg>
<constructor-arg value="300000" type="double"></constructor-arg>
<property name="maxSpeed" value="100" />
</bean>
<bean id="car2" class="com.study.bean.Car">
<constructor-arg value="奔驰" type="java.lang.String"></constructor-arg>
<constructor-arg value="上海" type="java.lang.String"></constructor-arg>
<constructor-arg value="100" type="int"></constructor-arg>
<property name="price" value="5000000" />
</bean>
<bean id="person" class="com.study.bean.Person">
<property name="name" value="Tom"></property>
<property name="age" value="24"></property>
<!--可以使用property的ref属性建立bean之间的引用关系 -->
<!-- <property name="car" ref="car2"></property> -->
<!--内部Bean-->
<property name="car">
<bean class="com.study.bean.Car">
<constructor-arg value="奥迪" type="java.lang.String"></constructor-arg>
<constructor-arg value="北京" type="java.lang.String"></constructor-arg>
<constructor-arg value="80" type="int"></constructor-arg>
<property name="price" value="300000" />
</bean>
</property>
</bean>
<!--测试集合属性 -->
<bean id="persons" class="com.study.bean.Person">
<property name="name" value="Smith"></property>
<property name="age" value="27"></property>
<property name="cars">
<list>
<ref bean="car"/>
<ref bean="car2"/>
<bean class="com.study.bean.Car">
<constructor-arg value="奥迪" type="java.lang.String"></constructor-arg>
<constructor-arg value="北京" type="java.lang.String"></constructor-arg>
<constructor-arg value="80" type="int"></constructor-arg>
<property name="price" value="300000" />
</bean>
</list>
</property>
</bean>
<!-- 配置Properties属性值 -->
<!--使用props和prop子节点来为Properties属性赋值 -->
<bean id="DataSource" class="com.study.bean.DataSource">
<property name="properties">
<props>
<prop key="username">root</prop>
<prop key="password">123456</prop>
<prop key="jdbcUrl">jdbc:mysql:localhost</prop>
<prop key="driverClass">com.mysql.jdbc.Driver</prop>
</props>
</property>
</bean>
<!-- 配置单例的集合bean以提供多个bean进行引用 需要导入命名空间-->
<!-- <util:list id="cars">
<bean>
<ref bean="car"/>
<ref bean="car2/">
</bean>
</util:list> -->
<!--通过p命名空间为属性赋值,需要导入p命名空间相对于传统配置方式更加简洁 -->
<!-- <bean id="person3" class="com.study.bean.Person"
p:age="30" p:name="Alice" p:cars-ref="cars">
</bean> -->
<!-- 配置单例的集合bean 用于其它多个bean的引用需要导入util命名空间-->
<util:list id="cars">
<ref bean="car"/>
<ref bean="car2"/>
<bean class="com.study.bean.Car">
<constructor-arg value="奥迪" type="java.lang.String"></constructor-arg>
<constructor-arg value="北京" type="java.lang.String"></constructor-arg>
<constructor-arg value="80" type="int"></constructor-arg>
<property name="price" value="300000" />
</bean>
</util:list>
<bean id="persons1" class="com.study.bean.Person">
<property name="name" value="Jack"></property>
<property name="age" value="99"></property>
<property name="cars" ref="cars"> </property>
</bean>
<!--spring2.5之后为了简化命名空间.xml文件的配置,引入p命名空间,需要先导入命名空间 -->
<bean id="persons2" class="com.study.bean.Person" p:age="30"
p:name="命名空间" p:cars-ref="cars">
</bean>
</beans>
2:Car
package com.study.bean;
public class Car {
private String brand;
private String corp;
private double price;
private int maxSpeed;
public Car() {
System.out.println("Car's Constructor...");
}
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public String getCorp() {
return corp;
}
public void setCorp(String corp) {
this.corp = corp;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public int getMaxSpeed() {
return maxSpeed;
}
public void setMaxSpeed(int maxSpeed) {
this.maxSpeed = maxSpeed;
}
public Car(String brand, String corp, int maxSpeed) {
super();
this.brand = brand;
this.corp = corp;
this.maxSpeed = maxSpeed;
}
public Car(String brand, String corp, double price) {
super();
this.brand = brand;
this.corp = corp;
this.price = price;
}
public String toString() {
return "Car [brand=" + brand + ", corp=" + corp + ", price=" + price
+ ", maxSpeed=" + maxSpeed + "]";
}
}
Person
package com.study.bean;
import java.util.List;
public class Person {
private String name;
private int age;
private Car car;
private List<Car> cars;
public Person() {
}
public String getName() {
return name;
}
public List<Car> getCars() {
return cars;
}
public void setCars(List<Car> cars) {
this.cars = cars;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Car getCar() {
return car;
}
public void setCar(Car car) {
this.car = car;
}
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + ", cars="
+ cars + "]";
}
}
4:Main
package com.study.bean;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestMain {
public static void main(String[] args) {
ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");
Person persons2=(Person) ctx.getBean("persons2");
System.out.println(persons2);
}
}
- spring2.5之后为了简化命名空间.xml文件的配置,引入p命名空间,需要先导入命名空间
- XML的命名空间
- XML的命名空间
- Spring 命名空间 p
- spring 引入命名空间
- Struts.xml命名空间配置
- logback xml配置命名空间
- XML 文件详解【命名空间】
- Sping的Xml配置命名空间
- .NET处理XML文件的命名空间
- xml文件中命名空间的含义
- 资源文件xml里的命名空间
- 命名空间的xml用法
- XML命名空间的问题
- 【XML】(5)命名空间
- 了解 XML 命名空间
- XML之命名空间
- [原创]XML命名空间
- 时序模式
- 全栈必备的技术栈设想
- Disconf Web项目打war包脚本build_java.sh源码
- 推荐JAVA学习路线
- ImageView随手势变化 动态缩放
- spring2.5之后为了简化命名空间.xml文件的配置,引入p命名空间,需要先导入命名空间
- 一个程序明白elf格式组成
- hdu 折线分割平面
- css基础
- java程序中关于if(赋值语句)的解析
- main函数的参数:argc, argv[]
- 【z12】&&【b092】hankson的趣味问题
- JS学习总结
- Oracle索引的运用