maven解析xml+测试test+注解

条件:maven项目

测试图:

创建maven项目,在maven项目中scr目录下有main、test(没有就创建)

一、解析XML文件方式

在main目录下有java、resources、webapp(没有就创建)

在java目录下创建源代码

Apple类

package com.wbg.entity;public class Apple {public void desc(){System.out.println("我是苹果");}
}

View Code

Shop接口

package com.wbg.ioc;public interface Shop {Object getBen(String name);
}

View Code

BeanShop接口

package com.wbg.ioc;import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;import javax.xml.transform.sax.SAXResult;
import java.net.URL;
import java.util.List;public class BeanShop implements Shop{public BeanShop(String configXML){//创建SAXReader对象SAXReader saxReader=new SAXReader();//获取XML文件路径URL url= this.getClass().getClassLoader().getResource(configXML);try {//生成文档对应实体Document document=saxReader.read(url);List<Element> list=document.getRootElement().elements();for (Element element : list) {String id=element.attributeValue("id");String clazz=element.attributeValue("class");System.out.println(id);System.out.println(clazz);}} catch (DocumentException e) {e.printStackTrace();}}@Overridepublic Object getBen(String name) {return null;}
}

在resources目录下创建xml文件

xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<beans><bean id="apple" class="com.wbg.fruit.Apple"></bean><bean id="banana" class="com.wbg.fruit.Banana"></bean><bean id="pear" class="com.wbg.fruit.Pear"></bean>
</beans>

View Code

在test文件下创建java目录,进行刷新下

在pom文件下加入dom4j包

   <dependency><groupId>org.dom4j</groupId><artifactId>dom4j</artifactId><version>2.1.1</version></dependency>

进行添加测试

创建成功

进行测试

 @Testpublic void getBen() {BeanShop beanShop=new BeanShop("fruit.xml");}

成功

项目下载地址:https://github.com/weibanggang/javaXMLTest

二、使用注解方式

首先在pom文件中加入reflections

  <dependency><groupId>org.reflections</groupId><artifactId>reflections</artifactId><version>0.9.10</version></dependency>

在annot包中创建一个注释

package com.wbg.annot;import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface Fruit {String value() default "";int count() default 0;
}

View Code

在ioc中创建BeanAnnoShop类继承Shop接口

  BeanAnnoShop类

package com.wbg.ioc;import com.wbg.annot.Fruit;
import org.reflections.Reflections;import java.util.HashMap;
import java.util.Map;
import java.util.Set;public class BeanAnnoShop implements Shop{private static Map<String,Object> map=new HashMap<>();public BeanAnnoShop(){Reflections reflections=new Reflections("com.wbg");Set<Class<?>> classes=reflections.getTypesAnnotatedWith(Fruit.class);for (Class<?> aClass : classes) {Fruit anot=aClass.getAnnotation(Fruit.class);try {map.put(anot.value(),aClass.newInstance());} catch (InstantiationException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();}}}@Overridepublic Object getBen(String name) {return map.get(name);}
}

View Code

进行添加测试类

添加成功,输入测试

 BeanAnnoShop beanAnnoShop=new BeanAnnoShop();Apple apple= (Apple) beanAnnoShop.getBen("apple");apple.desc();

完成

posted @ 2018-10-08 19:41 韦邦杠 阅读(...) 评论(...) 编辑 收藏

maven解析xml+测试test+注解相关推荐

  1. Dom4j遍历解析XML测试

    http://lavasoft.blog.51cto.com/62575/66953 Dom4j遍历解析XML测试 近来老和XML打交道,不深挖不行了.. 这是一个Dom4j解析XML的例子,为做复杂 ...

  2. java dom4j解析xml 对象_Java XML解析 - 利用DOM4j解析XML

    Java XML解析 - 利用DOM4j解析XML dom4j是一个简单的开源库,用于处理XML. XPath和XSLT,它基于Java平台,使用Java的集合框架,全面集成了DOM,SAX和JAXP ...

  3. java dom解析xml字符串_dom4j解析xml字符串实例

    java部分 DOM4J 与利用DOM.SAX.JAXP机制来解析xml相比,DOM4J 表现更优秀,具有性能优异.功能强大和极端易用使用的特点,只要懂得DOM基本概念,就可以通过dom4j的api文 ...

  4. 四种生成和解析XML文档的方法详解(介绍+优缺点比较+示例)

    众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM.SAX.JDOM和DOM4J 下面首先给出这四种方法的jar包下载地址 DOM:在现在的Java JDK里都自带了,在xml- ...

  5. maven pom.xml解析、命令说明、依赖传递、继承、聚合、properties、build、依赖范围、版本仲裁、profile

    maven是当前Java项目中用到最多的依赖管理工具.最开始的项目比较小引入的依赖包也少所以可以通过手动加载jar包的方式来管理依赖包:但随着项目越来越复杂各种大小框架层出不穷,一个项目的开发往往依赖 ...

  6. android xml解析demo,Android解析自定义xml文件--Sax解析xml文件,测试demo(方案二)...

    转载请注明出处:http://blog.csdn.net/droyon/article/details/9346657 Sax解析xml 以下是测试Demo 运行程序类 public class Te ...

  7. maven中用dom4j解析xml文档

    1.需求分析 关于dom4j的详细使用方法请参考:https://blog.csdn.net/qq_41860497/article/details/84339091 在xml中存储了过滤器的的初始化 ...

  8. Java解析xml文件dom4j篇(基于xml配置文件完成Excel数据的导入、导出功能完整实现)

    DOM4J解析XML文件 dom4j是一个Java的XML API,是jdom的升级产品,用来读写XML文件.另外对比其他API读写XML文件,dom4j是一个十分优秀的JavaXML API,具有性 ...

  9. Maven pom.xml 全配置(一)常用配置

    Maven pom.xml 全配置(一)常用配置 这里贴出一个Maven中出现频率较高的配置参数注释,方便理解项目中Maven的配置具体的作用.如果在此博文中没有找到你想看到的参数,可以移步Maven ...

  10. 解析xml数据存入bean映射到数据库的 需求解决过程

    解析xml数据存入bean映射到数据库的 需求解决过程 2017年12月19日 15:18:57 守望dfdfdf 阅读数:419 标签: xmlbean 更多 个人分类: 工作 问题 编辑 版权声明 ...

最新文章

  1. 华中科技大学通报:取消张某某研究生导师资格,调离教师岗位,停止其教师资格...
  2. LED音乐频谱之输出数据处理
  3. python queue 多线程_Python如何实现并行的多线程?
  4. 使用Movie Maker制作视频相册
  5. org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role:no sessi
  6. mongodb一致性协议_mongo的怎么保持事物的一致性-问答-阿里云开发者社区-阿里云...
  7. 让模块支持“导入”“导出”功能
  8. 电子科大提出“姿态蒸馏”算法-实现快速人体姿态估计
  9. 以xml html编写的的学生管理系统,基于.NET和XML的学生中心数据库管理系统的研究与实现...
  10. Maven实现Web应用集成測试自己主动化 -- 部署自己主动化(WebTest Maven Plugin)
  11. 图解:如何在LINUX中安装VM-Tools
  12. 湖南大学操作系统期末考试之英文PPT复习提纲
  13. 免费pdf转换成jpg图片方法
  14. [C语言] 混合or连续使用getchar,scanf所出现的错误
  15. 1899 用迭代法求平方根
  16. 瓴羊CEO朋新宇:从数据发现问题到数据创造价值|2022全球数字价值峰会-阿里云开发者社区
  17. jQuery 实现带下拉提示且自动填充的邮箱
  18. LaTex公式、函数、希腊字母、符号、运算符号总结
  19. office 365 ppt创意操作2
  20. 工具 · 移动端调试工具:weinre

热门文章

  1. 基于双向长短期记忆神经网络【biLSTM】模型的污染数据预测实战
  2. 为癌症生存数据集开发神经网络
  3. python实现原始字典数据中键值互换得到新的字典数据
  4. 聚类算法(K-Means和DBSCAN)
  5. linux等候脚本,linux – 在bash脚本中继续之前等待通过ssh运行的脚本完成
  6. FISCO BCOS log日志设置配置
  7. Petri net是什么
  8. docker容器中bash: vi: command not found
  9. 基于springboot的社团管理系统
  10. css html实现粒子特效,CSS实现粒子动态按钮效果