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
- Http 类
- Tasks 类
- Conf 加载
- Sockets
- NutMap
- 代码统计
- Http 类
- Tasks 类
- Conf 加载
- Sockets
- NutMap
- 代码统计