Junit单元测试
1、before(初始化任务)
2、After(收尾的任务)
3、Test(测试任务)
4、ignore(忽略忽视)
具体案例(Assert.assert断言,断定)
- publicclassAdminDaoImplTest{
- IAdminDao dao;
- @Before
- publicvoid before(){
- dao =newAdminDaoImpl();
- }
- @Test
- publicvoid findAll(){
- List
datas = dao.findAll(); - Assert.assertNotNull(datas);
- //遍历
- datas.forEach(e ->System.out.println(e));
- }
- @Test
- publicvoid update(){
- AdminEntity admin = dao.getById(11);
- //断言,断定 判断实际的结果,是否满足预期
- Assert.assertNotNull(admin);
- System.out.println(admin);
- admin.setAge(25);
- admin.setTelphone(“1656789457”);
- //调用修改
- dao.update(admin);
- }
- @Test
- publicvoid save(){
- //准备数据(来自于用户的录入)
- AdminEntity admin =newAdminEntity();
- admin.setAdminName(“李四”);
- admin.setLoginName(“ls”);
- admin.setPassword(“123456”);
- dao.save(admin);
XML:extended markup language可扩展标记语言,数据传输的格式(标签、字符、符号)
HTML:超文本标记语言
语法;1、标签必须成对出现
2、见名知意
XML的校验
两种校验方式:DTD,Schema
DTD:文档类型定义:用来规范XML的格式!
特点:1、一个XML中只有一个DTD
2、
DOM:document object model
DOM4J:DOM for java:解析XML
反射:反省、自省。程序在运行的过程中,反向重新加载的过程、理解反射的概念
反射核心类:class类对象
该类对象只加载一次,每个类都
有一个类对象 作用:class就是类的模板
三种方式获得class对象
第一种方式:知道类的全限名
Class cls = Class.forName(类的全限名);
第二种方式:知道类,通过class属性来获取
Class cls = UserBean.class;
第三种方式:知道对象,通过getClass()来获取
UserBean user = new UserBean();System.out.println(user.getClass());
调用无参构造器产生对象,使用了反序列化技术
操作类的元素:属性、方法、构造、注解、构造器
1、属性:
- Class cls =Class.forName(“com.woniuxy.day22.UserBean”);
- Object obj = cls.newInstance();//调用无参构造器
- System.out.println(obj);
- // Field userName = cls.getField(“userName”);//得到共有的属性
- Field userName = cls.getDeclaredField(“userName”);//得到私有属性
- System.out.println(userName);
- userName.setAccessible(true);//暴力破解(反射针对私有属性)
- userName.set(obj,”zs”);
- System.out.println(obj);
2、方法
- Class cls =Class.forName(“com.woniuxy.day22.UserBean”);
- Object obj = cls.newInstance();// 调用无参构造器
- // Method m1 = cls.getMethod(“eat”, null);//共有方法
- // // 调用
- // m1.invoke(obj, null);
- // Method m2 = cls.getMethod(“goHome”, String.class);
- // m2.invoke(obj, “自行车”);
- Method m3 = cls.getDeclaredMethod(“study”,null);//私有方法
- System.out.println(m3);
- m3.setAccessible(true);
- m3.invoke(obj,null);
3、构造
- Class cls =Class.forName(“com.woniuxy.day22.UserBean”);
- // Constructor cons = cls.getConstructor(String.class,Integer.class);//公共的构造器
- // Object obj = cons.newInstance(“张三”,20);
- // System.out.println(obj);
- Constructor cons = cls.getDeclaredConstructor(String.class,Integer.class);
- cons.setAccessible(true);//爆破
- Object obj = cons.newInstance(“张三”,20);
- System.out.println(obj);
4、注解
- Class cls =Class.forName(“com.woniuxy.day22.UserBean”);
- Method m = cls.getMethod(“toString”,null);
- //得到的注解对象
- Override o = m.getAnnotation(Override.class);