栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java EE---使用Spring框架创建Department小项目

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java EE---使用Spring框架创建Department小项目

Department

1、项目清单

2、代码

3、结果

4、笔记

1、项目清单

2、代码
    Department类代码
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Set;

public class Department {
	String name;
	String[] empName;
	List empList;
	Set proarrys;
	Map Info;
	public Department() {
		System.out.println("这是第一题的无参构造方法");
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String[] getEmpName() {
		return empName;
	}
	public void setEmpName(String[] empName) {
		this.empName = empName;
	}
	public List getEmpList() {
		return empList;
	}
	public void setEmpList(List empList) {
		this.empList = empList;
	}
	public Set getProarrys() {
		return proarrys;
	}
	public void setProarrys(Set proarrys) {
		this.proarrys = proarrys;
	}
	public Map getInfo() {
		return Info;
	}
	public void setInfo(Map info) {
		Info = info;
	}
	
	public Department(String n,String[] e,List el, Set p,Map i) {
		this.name=n;
		this.empName=e;
		this.empList=el;
		this.proarrys=p;
		this.Info=i;
	}
	
	public String toString() {
		String s="name="+name+"nempName="+Arrays.toString(empName)+"nEmployeename=";
		for(Employee e:empList) 
		{
			s=s+"  "+e.getEmployeename();		
		}
		s=s+""+"nProarryname=";
		for(Project p:proarrys) {
			s=s+"  "+p.getProarryname();
		}
		return s+"ninfo="+Info;
	}
}

    departmentfactory类代码

public class departmentfactory {
	public static Department createBean1() {
//		Department d =new Department();
		return new Department();
	}

}

    Project类代码
public class Project {
	String Proarryname;

	public String getProarryname() {
		return Proarryname;
	}

	public void setProarryname(String proarryname) {
		Proarryname = proarryname;
	}

	
	

	
	
}

    Employee类代码
public class Employee {
	String Employeename;

	public String getEmployeename() {
		return Employeename;
	}

	public void setEmployeename(String employeename) {
		Employeename = employeename;
	}
	
}

    applicationContext .xml代码


   		
			
		
		
			
		
		
			
		
		
		
					
		
			
					
		
		
		
					
		
  



	
	
			
				张十三
				刘洛夫
				李圣杰斯
			
	
	
	
			
				
				
					
			
	
	
			
				
				
				
			
	
		
			
					
					
				
			
		







    test类代码
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;

public class test {
	public static void main(String[] args) {
		ApplicationContext context=new FileSystemXmlApplicationContext("src/applicationContext.xml");
		Department d2=(Department) context.getBean("d2");
		System.out.println(d2.toString());
	}
}

3、结果

4、笔记

departmentfactory类只是用另一种方式来实例化Department类,以前是直接由xml文件来实例化(构造方法实例化),现在是通过实例化departmentfactory类然后调用里面的createBean1()方法来为Department实例化对象,createBean1()方法的返回值是Department类,return的是new Department(),此处就是在createBean1()方法实例化一个Department对象然后再返回Department类。它的原理很简单,就是多了一个中间商,这种方法的名字叫做静态工厂实例化,createBean1()经过static修饰它不再是departmentfactory对象的方法,也就是说调用此方法不需要依赖对象来进行访问,而是只要类被加载了就可以通过类名直接调用。此处的List empList和Set proarrys的类型都不是普通的类型,是一个类。所以它的赋值有点不一样,分别创建Employee和Project类并定义属性,然后再xml文件中bean(实例化对象)并赋值。Department类中定义了一系列属性,同时定义一个有参构造方法方便在xml文件中赋值。还要定义一个toString()方法来输出,输出过程中因为List empList和Set proarrys不一样,所以获取其值需要分别用一个for循环来从数组、列表中逐一获取值(该for和foreach使用方法类似)。xml文件中分别为Employee和Project初始化三个对象,departmentfactory是题目中第一题利用静态工厂实例化为Department实例化。xml文件中Department实例化并复制赋值,此处赋值用的是constructor-arg而不是property所以不需要设置name,constructor-arg赋值是会根据Department中的有参构造方法中参数的顺序一一赋值,因为List empList和Set proarrys的类型是一个类,所以这里赋值只需要用ref将上面的bean赋值过去就好了。test类执行只需要向xml文件获取Department类的对象然后执行toString()方法就好了。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/749044.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号