Spring框架在Bean中的管理(第十一课)案例实操是在Spring框架在Bean中的管理(第十课)中实操内容进行加深理解Spring中的IOC如何管理?
第一部分 非正常的数据类型的实操 Java如何进行的和Spring中Bean管理如何进行的。
public class Student { private String name; private int age; /*非正常的数据类型*/ private Date birthday; public Student() { }
<bean id="sss" class="com.Sping.Entily.Student"> <property name="name" value="立交四"></property> <property name="age" value="21"></property> <property name="birthday" ref="date"></property> </bean> <bean id="date" class="java.util.Date"></bean>
/*第五个案例非正常的数据类型*/ @Test public void five() { /*java代码的方式*/ Student student = new Student(); student.setName("少年强则国强"); student.setAge(21); Date date = new Date(); student.setBirthday(date); System.out.println(student.getName() + "===" + student.getBirthday() + "===" + student.getAge()); } @Test public void two(){ //加载配置文件 ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml"); Student sss=ac.getBean("sss",Student.class); System.out.println(sss.getName()+"======="+sss.getAge()+"========"+sss.getBirthday()); }
第二部分 生日的实操 Java如何进行的和Spring中Bean管理如何进行的。
<!--Date date=new Date();--> <!-- <constructor-arg> 构造方法的标签 type 根据数据变量进行赋值 不建议使用 index 数组下标 name 全局变量的名称 value 基本数据类型赋给的值 ref 引用数据类型 demo6 --> <bean id="st" class="com.Sping.Entily.Student"> <constructor-arg type="java.lang.String" value="效果"></constructor-arg> <constructor-arg index="1" value="56"></constructor-arg> <constructor-arg name="birthday" ref="date"></constructor-arg> </bean>
package com.Sping.Test; import com.Sping.Entily.Student; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import java.util.Date; public class Demo6 { @Test public void six(){ Date date=new Date(); Student student=new Student("小明",20,date); System.out.println(student.getBirthday()); /*Sping*/ ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml"); Student st=ac.getBean("st",Student.class); System.out.println(st.getBirthday()); System.out.println("生日"+st.getBirthday()+"姓名"+st.getName()+"年龄"+st.getAge()); } }
第三部分 数组操作 Java如何进行的和Spring中Bean管理如何进行的。
<!--Sping框架数组的方式--> <bean id="car" class="com.Sping.Entily.Car"> <property name="types"> <array> <value>1234567123</value> <value>2345678456</value> <value>3456789789</value> <value>456789101234</value> <value>56789101122</value> </array> </property>
public class Car { private String[] types; private List<Integer> prices; private Map<String, String>colors; private Set<String> utils; private Properties properties; }
/*数组的方式获得Java代码Sping框架方式获得*/ @Test public void seven(){ /*java代码的形式*/ Car car=new Car(); /*数组*/ String[]s={"AAA","BBB","CCC","DDD","EEE"}; car.setTypes(s); System.out.println("=====================数组的方式利用java代码========================="); System.out.println(Arrays.toString(car.getTypes())); /*加载配置文件*/ ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml"); Car car1=ac.getBean("car",Car.class); System.out.println("=========================Sping方式获得数据的方式==========================="); System.out.println(Arrays.toString(car1.getTypes())); }
第四部分 List集合操作 Java如何进行的和Spring中Bean管理如何进行的。
<!--list集合方式--> <property name="prices"> <list> <value>111111</value> <value>22222</value> <value>33333</value> </list> </property>
/*java集合的方式*/ @Test public void sevena(){ /*java代码的形式*/ Car car=new Car(); List<Integer> p=new ArrayList<>(); p.add(5); p.add(50); p.add(500); p.add(5000); p.add(50000); p.add(50000); car.setPrices(p); car.getPrices().forEach(i-> System.out.println(i)); System.out.println("=====================List<Integer> p=new ArrayList<>()集合========================="); /*Sping框架的方式*/ ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml"); Car car2=ac.getBean("car",Car.class); car2.getPrices().forEach(i-> System.out.println(i)); }
第五部分 Set集合操作 Java如何进行的和Spring中Bean管理如何进行的。
<!--Set集合方式--> <property name="utils"> <set> <value>你是我的唯一</value> <value>我爱你</value> <value>你爱我吗</value> <value>YesOrNo</value> </set> </property>
package com.Sping.Test; import com.Sping.Entily.Car; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import java.util.HashSet; import java.util.Set; public class Sping3 { @Test public void sevenb(){ /*java代码的形式*/ Car car=new Car(); Set<String> set=new HashSet<>(); set.add("飞机A"); set.add("飞机AB"); set.add("飞机AC"); set.add("飞机AD"); car.setUtils(set); car.getUtils().forEach(i-> System.out.println(i)); ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml"); Car car2=ac.getBean("car",Car.class); car2.getUtils().forEach(i-> System.out.println(i)); } }
第六部分 Map集合操作 Java如何进行的和Spring中Bean管理如何进行的。
<!--Map集合的方式--> <property name="colors"> <map> <entry key="id" value="1001"></entry> <entry key="name" value="张三李四王五"></entry> <entry key="age" value="20"></entry> <entry key="sex" value="男or女"></entry> <entry key="phone" value="17867853452"></entry> </map> </property>
/*Map集合的方式*/ @Test public void sevenc(){ /*调用对象*/ /*java代码的形式*/ Car car=new Car(); Map<String, String> m =new HashMap<>(); m.put("AA","aa"); m.put("AAB","aab"); m.put("AAC","aac"); car.setColors(m); car.getColors().forEach((k,v)-> System.out.println(k+":"+v)); ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml"); Car car2=ac.getBean("car",Car.class); car2.getColors().forEach((k,v)-> System.out.println(k+":"+v)); }
第七部分 数据库操作 在Spring中Bean管理如何进行的。
<!--数据库的四个参数--> <property name="properties"> <props> <prop key="Diver">com.mysql.cj.jdbc.Driver</prop> <prop key="url">jdbc:mysql://localhost:3306/car</prop> <prop key="username">root</prop> <prop key="password">123456</prop> </props> </property> </bean>
/*数据库连接的四个重要变量*/ @Test public void sevend(){ /*调用对象*/ /*java代码的形式*/ Car car=new Car(); /*创建对象*/ Properties properties=new Properties(); properties.setProperty("Diver","com.mysql.cj.jdbc.Driver"); properties.setProperty("url","jdbc:mysql://localhost:3306/car"); properties.setProperty("username","root"); properties.setProperty("password","123456"); car.setProperties(properties); car.getProperties().forEach((k,v)-> System.out.println(k+"==========="+v)); ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml"); Car car2=ac.getBean("car",Car.class); car2.getProperties().forEach((k,v)-> System.out.println(k+":"+v)); }
第八部分 在Spring中Bean管理如何进行的 指定方法的开始与结束。
package com.Sping.Entily; /** * Servlect */ public class Servlect { public Servlect(){ System.out.println("用户在创建Servlect"); } public void init(){ System.out.println("Servlect正在出生过程中在调用init方法"); } public void servlectW(){ System.out.println("Servlect正在运行servlectW事件中"); } public void destroy(){ System.out.println("事情以完成任务正在销毁servlect释放servlect内存"); } }
<!--新的知识点介绍 指定方法的开始与结束 init-method="init" destroy-method="destroy" --> <bean id="servlect" class="com.Sping.Entily.Servlect" init-method="init" destroy-method="destroy"></bean>
package com.Sping.Test; import com.Sping.Entily.Servlect; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Sping6 { @Test public void eight(){ ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml"); Servlect servlect=ac.getBean("servlect",Servlect.class); servlect.servlectW(); /*关闭文件*/ ((ClassPathXmlApplicationContext) ac).close(); } }
第九部分 一个小案例
public class Teacher { private int id; private String name; private int phone; private int money; private Object date; }
<!-- 利用Sping框架将教师信息的方式给对象赋值--> <bean id="teacher" class="com.Sping.Entily.Teacher"> <!--Sping方式的赋值--> <property name="id" value="100401"></property> <property name="name" value="小王"></property> <property name="phone" value="1768976452"></property> <property name="money" value="100000"></property> <property name="date" value="2000年12月三号"></property> </bean>
package com.Sping.TeacherTest; import com.Sping.Entily.Teacher; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; /** * TeacherTest的作业 */ public class TeacherTest { @Test public void one(){ System.out.println("java代码的方式对Teacher数据赋值"); Teacher teacher1=new Teacher(); teacher1.setId(100520); teacher1.setName("王小五"); teacher1.setPhone(1897654536); teacher1.setMoney(1000000); teacher1.setDate(2000+"年"+12+"月"+6+"号"); System.out.println("教师编号"+teacher1.getId()+"===="+ "教师姓名"+teacher1.getName()+"==="+ "教师手机号"+teacher1.getPhone()+"===="+ "教师工资"+teacher1.getMoney()+"=="+ "教师的出生日期"+teacher1.getDate() ); System.out.println("Sping 框架方式进行对Teacher数据赋值"); ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml"); /*Student stu=ac.getBean("teacher",Student.class);*/ /*System.out.println(stu.getName()+"-----------"+stu.getAge());*/ Teacher teacher=ac.getBean("teacher",Teacher.class); System.out.println("Sping框架方式对Teacher进行赋值"); System.out.println("教师编号"+teacher.getId()+"===="+ "教师姓名"+teacher.getName()+"==="+ "教师手机号"+teacher.getPhone()+"===="+ "教师工资"+teacher.getMoney()+"=="+ "教师的出生日期"+teacher.getDate() ); } }
SpringIOC第一种方案的注入到这里结束先了解基础的内容在进行深入。