国产精品开源框架 Nutz 及相官工具类简介

Nutz

官网: http://nutzam.com

国产精品开源框架 Nutz 及相官工具类简介

简介: Nutz 是国产的精品开源框架,它全无依赖,只以 1 兆多的身材,就可以实现 SSH 全部功能的 90% 以上。内容主要涵盖了:Ioc、Aop、MVC、Dao、Json 等 WEB 开发的方方面面。 因此它并非简简单单一个工具包,甚至可用它来做一个项目。

相关工具类(其他内容请参见官网, 此处仅选其中几工具类)

Http 类

//get 方式请求
Response resp = Http.get("http://www.baidu.com");
    if (resp.isOK()) {        System.out.println(resp.getContent());
    }
//post 方式
Map<String, Object> params = new HashMap<String, Object>();
params.put("name", "root");
params.put("pwd", "123456");
int timeout = 60 * 1000; //  单位毫秒
String apiRet = Http.post("http://api.xxx.com/login", params, timeout);
System.out.println(apiRet);
  • 使用代理

  • 定制 http Header、Cookie

  • 文件上传

  • 设置请求超时时间… 更多内容可自行探索 org.nutz.http 包。

Tasks 类

Tasks.scheduleAtFixedRate(new Runnable()
{    public void run()
    {        System.out.println("task runing...");
    }
}, 10);
Lang.quiteSleep(60 * 1000);
  • 在指定的延时之后开始以固定的频率来运行任务

  • 在指定的时间点开始以固定的频率运行任务

  • 两次任务间保持固定的时间间隔

  • 返回 Future 做更高级的任务控制

  • 返回定时任务线程池,可做更高级的应用 更多内容可自行探索 org.nutz.lang.Tasks 类

Conf 加载

PropertiesProxy property = new PropertiesProxy(“/conf/", “/db.properties”));
String redisIp = property.get("redis.ip");
Int redisPort = property.getInt("redis.port");

Sockets

Sockets.localListenOneAndStop(9099, "reload", new SocketAction(){
        @Override
        public void run(SocketContext context) {            System.out.println(" 重新加载配置文件 ");
            context.writeLine("success");
        }
    });

现在你只需 telnet 172.0.0.1 9090 然后输入 reload,就能重新加载项目中的配置文件了。而且原生的,它支持客户端输入 “close|stop|bye|exit” 来结束服务端的本地监听。
  上边只是演示了添加一个动作(SocketAction),其实可以向它放入多个 SocketAction 来实现各种命令操作。另高级的,服务器端还能支持接收 json 串,实现更多的参数传入。   更多内容可自行探索 org.nutz.lang.socket 包。

NutMap

NutMap map = new NutMap();
map.put("name", "bushi");
map.put("age", 63);
map.put("sex", true);
map.put("time", new Date());
                  
System.out.println(map.getString("name"));
System.out.println(map.getInt("age"));
System.out.println(map.getBoolean("sex"));
System.out.println(map.getTime("time"));

// 另外 addv 亦可添加支持链式
NutMap nutMap = new NutMap();
nutMap.put("1",1);
nutMap.put("2","2");
nutMap.addv("3",3).addv2("4",4);
System.out.println(nutMap);
// 输出  {1=1, 2=2, 3=3, 4=[4]}

代码统计

Nutz 中还隐藏了一个代码统计工具。它可以对程序源码进行详细的统计,可以准确的分析出程序中代码行、注释行、空白行和导入行为多少等等。
  项目快结束了,统计下项目中代码行数,可以满足下自己的虚荣心,同时也好向老板交差。
  使用方法非常简单:

File file = new File("E:/qinerg_github/nutz/src/");
CodeStatisticsResult statisticsResult = Code.countingCode(file, "java", true, null);
System.out.println(" 源码数:" + statisticsResult.getFileCount());
System.out.println(" 总行数:" + statisticsResult.getTotalLines());
System.out.println(" 代码行:" + statisticsResult.getNormalLines());
System.out.println(" 注释行:" + statisticsResult.getCommentLines());
System.out.println(" 导入行:" + statisticsResult.getImportLines());
System.out.println(" 空白行:" + statisticsResult.getWhiteLines());

参考来源: https://my.oschina.net/qinerg/blog/164278

目录
  • Nutz
    • Http 类
    • Tasks 类
    • Conf 加载
    • Sockets
    • NutMap
    • 代码统计
  • 目录
  • Nutz
    • Http 类
    • Tasks 类
    • Conf 加载
    • Sockets
    • NutMap
    • 代码统计
  • 手机扫描二维码访问

    本文标题:《国产精品开源框架 Nutz 及相官工具类简介》作者:极四维博客
    原文链接:https://cway.top/post/567.html
    特别注明外均为原创,转载请注明。

    分享到微信

    扫描二维码

    可在微信查看或分享至朋友圈。

    相关文章

    发表评论:

    ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

    «    2024年10月    »
    123456
    78910111213
    14151617181920
    21222324252627
    28293031

    搜索

    控制面板

    您好,欢迎到访网站!
      查看权限

    最新留言

    文章归档

    • 订阅本站的 RSS 2.0 新闻聚合