Spring简单入门-注入数据
1.导入c3p0的jar包
在spring的核心配置文件(applicationContext.xml)中经常使用到
<!--引用db.properties文件-->
<context:property-placeholder location="classpath:db.properties"/>
<!--构造函数注入
涉及标签:constructor-arg
标签的属性:
type:指定参数的类型
index:指定参数的索引位置,从0开始
name:指定参数的名称 (一般使用它)
value:指定基本数据类型或String类型数据
ref:指定其他bean类型数据s
-->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="jdbcUrl" value="${jdbc.url}"></property>
<property name="driverClass" value="${jdbc.driver}"></property>
<property name="user" value="${jdbc.user}"></property>
<property name="password" value="${jdbc.password}"></property>
</bean>
db.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test
jdbc.user=root
jdbc.password=9131101
2.创建一个新类Zhuru.java
package zh.entity;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
public class Zhuru {
private String[] myStrs;
private List<String> myList;
private Set<String> mySet;
private Map<String, String> myMap;
private Properties myProps;
public void setMyStrs(String[] myStrs) {
this.myStrs = myStrs;
}
public void setMyList(List<String> myList) {
this.myList = myList;
}
public void setMySet(Set<String> mySet) {
this.mySet = mySet;
}
public void setMyMap(Map<String, String> myMap) {
this.myMap = myMap;
}
public void setMyProps(Properties myProps) {
this.myProps = myProps;
}
public void testZhuru() {
System.out.println(Arrays.deepToString(myStrs));
System.out.println(myList);
System.out.println(mySet);
System.out.println(myMap);
System.out.println(myProps);
}
}
beans.xml
<?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="zhuru" class="zh.entity.Zhuru">
<property name="myStrs">
<set>
<value>aaa</value>
<value>bbb</value>
<value>ccc</value>
</set>
</property>
<property name="myList">
<list>
<value>AA</value>
<value>BB</value>
<value>CC</value>
</list>
</property>
<property name="mySet">
<set>
<value>qqq</value>
<value>eee</value>
<value>rrr</value>
</set>
</property>
<property name="myMap">
<map>
<entry key="testID" value="MMM"></entry>
<entry key="testID2" value="nnn"></entry>
<entry key="testID3">
<value>map</value>
</entry>
</map>
</property>
<property name="myProps">
<props>
<prop key="testPro">FFF</prop>
<prop key="testPro2">ggg</prop>
<prop key="testPro3">hhh</prop>
</props>
</property>
</bean>
</beans>
通过property标签内的子标签及属性给对象进行注入(结构相同,property内部的赋值标签可以互换)
test2.java
package zh.test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import zh.entity.Zhuru;
public class test2 {
public static void main(String[] args) {
ApplicationContext ac = new ClassPathXmlApplicationContext("classpath:beans.xml");
Zhuru t = ac.getBean("zhuru",Zhuru.class);
t.testZhuru();
}
}
执行结果