学习框架前准备
Author:母虎忠
日期:May 10, 2019
本笔记本笔记为自己在码码在线学习框架的笔记。本笔记目的是强化自己学习所用。若有疏漏或不当之处,请在评论区指出。谢谢。
-
学习框架前准备
- 学习框架前准备
- 1、配置文件
- 1.1、Properties文件
- Properties文件的获取
- 1.2、xml的读取
- 1.1、Properties文件
- 2、反射
- 3、注解
- 3.1元注解
- 3.2、注解的使用
- 1、配置文件
1、配置文件
配置文件一般放在resoures目录下,此目录一般放在项目根目录下
1.1、Properties文件
Properties文件为文本文件
Properties文件的获取
//获取配置文件 //创建Properties对象 Properties pop = new Properties(); //加载配置文件 pop.load(new FileInputStream("resoures/test.properties")); System.out.println(pop.getProperty("url"));
1.2、xml的读取
//创建SAXReader对象 SAXReader readr = new SAXReader(); //加载xml文件 Document doc =readr.read( new File("resoures/dome.xml")); //获取xml根节点 Element eml =doc.getRootElement();
//获取文本节点 System.out.println(eml.getText()); System.out.println(eml.getName()); System.out.println(eml.getQualifiedName());
//获取元素节点 List<Element> list = eml.elements("student"); for(Element em: list){ System.out.println(em.element("name").getText()); System.out.println(em.element("age").getText());
//获取根节点属性 System.out.println(eml.attribute("color").getValue());
2、反射
//获取class类 Class clazz = Class.forName("damo"); // 创建实例 damo Damo=(damo)clazz.newInstance();
// 获取Damo的add方法 // int x =Damo.add(3,5);
// 获取Damo的name属性 Field field = clazz.getDeclaredField("name"); // 修改name属性的权限 field.setAccessible(true); // 修改Damo的name属性 field.set(Damo ,"langwn修改name属性的值ag"); // 调用Damo的方法 System.out.println(Damo.getPuName());
// Constructor con = clazz.getConstructor();//只能获取public方法 // 获取clazz的构造方法 Constructor con =clazz.getDeclaredConstructor( String.class); // new一个对象 damo la = (damo)con.newInstance("laowang"); System.out.println(con.getName()); System.out.println(la.getPuName());
// 获取类的成员方法 Method method = clazz.getDeclaredMethod("add",int.class,int.class); Class clax= method.getReturnType(); // 调用类的成员方法 int i= (int) method.invoke(Damo,2,3); System.out.println(i); // clazz.getMethod();//只能获取public
3、注解
1、在注解里边可以定义一些方法,一般是public型
2、可以使用defaule为方法设置默认值
3、自定义一个注解时需要使用一些jdk定义好的注解去描述这个注解用于描述自定义注解的注解叫做元注解
3.1元注解
@Target()//限定注解在类里的作用域 @Retentent()//限定什么时候使用这个注解 //前两个重要,后两个知道就行 @Document() @Inherited()
3.2、注解的使用
自定义注解
@Target(ElementType.METHOD)//限定在方法上使用注解 @Retention(RetentionPolicy.RUNTIME)//限定在运行时使用注解 public @interface test { public String value(); public String scre()default"这是一个描述";
使用注解
//获取注解 test Test= method.getAnnotation(test.class); System.out.println( Test.scre()); System.out.println( Test.value());
- 学习框架前准备