spring的使用
1、导入依赖
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.2.RELEASE</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.12</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
2、写demo类
public class Demo {
private String name;
private Integer age;
private User user;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public void run(){
System.out.println("hello spring");
}
@Override
public String toString() {
return "Demo{" +
"name='" + name + '\'' +
", age=" + age +
", user=" + user +
'}';
}
}
3、在resources目录下创建applicationContext.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">
<!--IOC管理bean-->
<!--id:类的唯一标识符 class:类的全路径名-->
<bean id="demo" class="com.qcby.Demo" >
<property name="name" value="张三"/>
<property name="age" value="18"/>
<property name="user" ref="user"/>
</bean>
</beans>
4、编写测试方法
public void run2(){
//创建spring工厂,加载配置文件
ApplicationContext ac = new ClassPathXmlApplicationContext("ApplicationContext.xml");
//获取bean对象,demo是配置文件中的id,getBean是主方法
Demo us = (Demo) ac.getBean("demo");
//调用方法
System.out.println(us.toString());
}
5、创建带参构造器
类的创建
public class Car {
// 名称
private String cname;
// 金额
private Double money;
public Car(String cname,Double money){
this.cname = cname;
this.money = money;
}
@Override
public String toString() {
return "Car{" +
"cname='" + cname + '\'' +
", money=" + money +
'}';
}
}
applicationContext.xml中的写法
<bean id="car" class="com.qcby.service.Car">
<constructor-arg name="cname" value="奔驰"></constructor-arg>
<constructor-arg name="money" value="35"></constructor-arg>
</bean>
测试方法
@Test
public void run(){
//创建spring工厂,加载配置文件
ApplicationContext ac = new ClassPathXmlApplicationContext("ApplicationContext.xml");
//获取bean对象
Car car = ac.getBean("car", Car.class);
System.out.println(car.toString());
}
6、数组,集合等注入
类的创建
public class CollectionBean {
private String [] strs;
private List<String> list;
private Map<String,String> map;
public void setStrs(String[] strs) {
this.strs = strs;
}
public void setList(List<String> list) {
this.list = list;
}
public void setMap(Map<String, String> map) {
this.map = map;
}
@Override
public String toString() {
return "CollectionBean{" +
"strs=" + Arrays.toString(strs) +
", list=" + list +
", map=" + map +
'}';
}
}
applicationContext.xml中的写法
<bean id="user" class="com.qcby.User">
<property name="strs"> 字符段包含集合
<array>
<value>张三</value>
<value>李四</value>
</array>
</property>
<property name="list">
<list>
<value>明明</value>
<value>红红</value>
</list>
</property>
<property name="map"> map集合使用 entry,因为map有key和value,不能使用value标签
<map>
<entry key="1" value="1"/>
<entry key="2" value="2"/>
</map>
</property>
</bean>