学习框架前的准备

学习框架前准备

 

Author:母虎忠
日期:May 10, 2019

本笔记本笔记为自己在码码在线学习框架的笔记。本笔记目的是强化自己学习所用。若有疏漏或不当之处,请在评论区指出。谢谢。

  • 学习框架前准备

     

    • 学习框架前准备
      • 1、配置文件
        • 1.1、Properties文件
          • Properties文件的获取
        • 1.2、xml的读取
      • 2、反射
      • 3、注解
        • 3.1元注解
        • 3.2、注解的使用

     

    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());

转载于:https://www.cnblogs.com/mhzzs/p/10842371.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值