Spring框架(一)

Spring致力于提供一种方法管理你的业务对象。

Spring是全面的和模块化的。

它的设计从底部帮助你编写易于测试的代码。Spring是用于测试驱动工程的理想的framework。

Spring对你的工程来说,它不需要一个以上的framework。Spring是潜在地一站式解决方案,定位于与典型应用相关的大部分基础结构。它也涉及到其他framework没有考虑到的内容。

(一)用Spring框架对属性工厂进行优化

属性工厂https://blog.youkuaiyun.com/zxl1148377834/article/details/81749556

1.添加Spring框架要用到的包

可以用Maven在http://mvnrepository.com/网站上下载

2.在类路径下写配置文件

<?xml version="1.0" encoding="UTF-8"?>

<beans xsi:schemaLocation=" 
http://www.springframework.org/schema/beans
 http://www.springframework.org/schema/beans/spring-beans.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans">

<bean class="edu.edu.UserDao" id="userDao">
<property name="user" ref="user"></property>
</bean>

<bean class="edu.edu.User" id="u1">
<property name="id" value="21"></property>
<property name="name" value="哈哈"></property>
<property name="sex" value="女"></property>
</bean>

<bean class="edu.edu.User" id="u2">
<property name="id" value="22"></property>
<property name="name" value="嘻嘻"></property>
<property name="sex" value="女"></property>
</bean>

<bean class="edu.edu.User" id="u3">
<property name="id" value="23"></property>
<property name="name" value="呵呵"></property>
<property name="sex" value="女"></property>
</bean>


<bean class="edu.edu.User" id="user">
<property name="id" value="20"></property>
<property name="name" value="香香"></property>
<property name="sex" value="女"></property>
<property name="dir">
<array>
    <value>西安</value>
     <value>北京</value>
      <value>上海</value>
</array>
</property>
<property name="dir1">
<list>
    <value>西安</value>
     <value>北京</value>
      <value>上海</value>
</list>
</property>
<property name="dir2">
<set>
    <value>西安</value>
     <value>北京</value>
      <value>上海</value>
</set>
</property>
<property name="dir3">
<map>
    <entry key="111" value-ref="u1"></entry>
    <entry key="112" value-ref="u2"></entry>
    <entry key="113" value-ref="u3"></entry>
    
</map>
</property>
</bean>
</beans>

并且可以在该配置文件里给参数赋值 

 相当于.properties的文件中的配置

articleDao=edu.edu.impl.AddArticleImpl
channelDao=edu.edu.impl.AddChannelImpl

3.调用配置文件

这是需要配置的类(需要执行)

在配置文件中已经配置并且赋值

import java.util.ArrayList;
import java.util.Map;
import java.util.Set;

public class User {
   private String name;
   private int id;
   private String sex;
   private String[] dir;
   private ArrayList<String> dir1;
   private Set<String> dir2;
   public Set<String> getDir2() {
	return dir2;
}
public void setDir2(Set<String> dir2) {
	this.dir2 = dir2;
}
private Map<String, User> dir3;
   public ArrayList<String> getDir1() {
	return dir1;
}
public void setDir1(ArrayList<String> dir1) {
	this.dir1 = dir1;
}


public Map<String, User> getDir3() {
	return dir3;
}
public void setDir3(Map<String, User> dir3) {
	this.dir3 = dir3;
}

   
public String[] getDir() {
	return dir;
}
public void setDir(String[] dir) {
	this.dir = dir;
}
public String getName() {
	return name;
}
public void setName(String name) {
	this.name = name;
}
public int getId() {
	return id;
}
public void setId(int id) {
	this.id = id;
}
public String getSex() {
	return sex;
}
public void setSex(String sex) {
	this.sex = sex;
}
   
}

下面是调用配置文件

 @Test
  public void test2() {
     //读取配置文件
	  BeanFactory beanFactory = new ClassPathXmlApplicationContext("peizhi.xml");
  //读取配置文件中的id,找到id名为user的类
	  User user =(User) beanFactory.getBean("user");
	 System.out.println(user.getId()+" :"+user.getName()+" :"+user.getSex());
    for(String dir:user.getDir()) {
    	System.out.println(dir);
    }
    for(String dir1:user.getDir1()) {
    	System.out.println(dir1);
    }
    for(Iterator<String> its = user.getDir2().iterator();its.hasNext();) {
    	System.out.println(its.next());
    }
    Map<String, User> m = user.getDir3();
    User u = m.get("111");
    System.out.println(u.getId()+" :"+u.getName()+" :"+u.getSex());
  }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值