Nutz 第一个Demo
Nut 是什么 我这就不多解释 知道是个javaweb框架 如想仔细了解请移步管网 http://nutzam.com/
一、项目结构(直接看图
)
需要注意的是 src和conf 都为源码包 conf包下为 一些json格式配置文件 这中配置文件作者表提倡
二、基础jar包

lombok.jar 是一个 插件包 为了java 文件省去set/get 方法的编写 看客们可以忽略
其他jar包 就不用解释了吧
三、web.xml 文件

其中配置 就是一个主filter和一个listener
有点特殊的是 Nutz的filter需要指定一个入口 也就是modules
这个入口 个人理解为spring主配置文件 此项目中所有的配置文件 都在项目启动的时候由这个入口加载 不知道是否有 理解错误 还请看客们海涵
四、入口类 (叫法有点别扭)
package org.ly.demo; import org.nutz.mvc.annotation.Encoding;
import org.nutz.mvc.annotation.Fail;
import org.nutz.mvc.annotation.IocBy;
import org.nutz.mvc.annotation.Localization;
import org.nutz.mvc.annotation.Modules;
import org.nutz.mvc.annotation.Ok;
import org.nutz.mvc.ioc.provider.ComboIocProvider; @IocBy(type = ComboIocProvider.class, args = { "*org.nutz.ioc.loader.json.JsonLoader", "ioc/", "*org.nutz.ioc.loader.annotation.AnnotationIocLoader", "org.ly.demo" }) //加载ioc目录下所有配置文件 启用本地注解 扫描包名
@Encoding(input = "utf8", output = "utf8")
//输入输出 编码
@Modules(scanPackage = true)
//扫描包下所有类
@Localization("msg")
@Ok("ioc:json")
@Fail("json")
//这三个 没有理解明白
public class MainModule { }
数据源配置文件 默认放在 conf/ioc 目录下 项目启动即可加载
五、数据源
var ioc = {
dataSource : {
type :"org.apache.commons.dbcp.BasicDataSource",
events : {
depose :"close"
},
fields : {
driverClassName : 'org.mariadb.jdbc.Driver',
url : 'jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8',
username : 'root',
password : 'toor',
initialSize : 10,
maxActive : 100,
minIdle : 10,
maxIdle : 20,
defaultAutoCommit: false,
//validationQueryTimeout : 5,
//validationQuery : "select 1"
}
},
dao : {
type : "org.nutz.dao.impl.NutDao",
fields : {
dataSource : {refer : 'dataSource'}
}
}
}
六、业务操作
Nutz 有其自己的Dao 层实现类 Nutdao 足够你使用 换句话说就是 你完全可以不用去实现自己的dao层 只需要继承其扩展就可以了 这样是不是很方便了
Nutz 也有其自己实现的service 层 如需要你也可以直接调用
下面贴段 最简单的web层代码 各位看官 一看 便会明白 nutz 是如此的简单
@IocBean
//标示此类 给ioc容器管理
public class userContoller { @Inject
//ioc容器 自动注入dao
Dao dao; @At("/hello")
//请求地址
@Ok("jsp:hello")
//成功后返回页面
public String dohello() {
return null;
} }
七、总结
看官们 是不是觉得 Nutz很简单 很容易上手了 那就赶紧去官网下载 试试吧
告诉你们一个小秘密 还有代码自动生成器哦 一般人我可是不会告诉的哦
Nutz 第一个Demo的更多相关文章
- angular开发者吐槽react+redux的复杂:“一个demo证明你的开发效率低下”
曾经看到一篇文章,写的是jquery开发者吐槽angular的复杂.作为一个angular开发者,我来吐槽一下react+redux的复杂. 例子 为了让大家看得舒服,我用最简单的一个demo来展示r ...
- 初识nginx之第一个demo
商城项目做了一个多月了,想到必须用到负载均衡,简单了解了一下nginx,首先分享第一个demo,五月份上线后,会继续分享一系列相关知识. 在nginx根目录下,用了一个园友的批处理文件nginx.ba ...
- springMvc的第一个demo
1.下载jar包 http://repo.spring.io/libs-release-local/org/springframework/spring/4.2.3.RELEASE/ 2.下载源码 j ...
- Android 通知栏Notification的整合 全面学习 (一个DEMO让你完全了解它)
在android的应用层中,涉及到很多应用框架,例如:Service框架,Activity管理机制,Broadcast机制,对话框框架,标题栏框架,状态栏框架,通知机制,ActionBar框架等等. ...
- 如何在WTL和MFC中使用duilib及如何静态使用duilib库!(初级讲解 附带一个Demo)
关于duilib的历史,我也就不多说了,能看到这篇文章的人都是有一定了解才能找到这个的. 我直接说下对这个库的基本使用吧. 我个人对一些好技术都是比较感兴趣的. 因为个人原因 喜欢接触一个好技术. 所 ...
- 白盒测试之gtest第一个demo
认识gtest工具后,关于它的使用,下面将用一个demo程序演示一下gtest的用法以及成果展示. 一.需要测试的C++代码: #include "myfunction.h" // ...
- 在VS中实现webService的一个demo(图解)
在VS中实现webService的一个demo(图解) 先创建一个web项目,创建好web项目后,添加新建项——web服务 在新建好的web服务文件中写如下代码: 生成当前解决方案. 新建一个winf ...
- Cocos2d-x 学习(1)—— 通过Cocos Studio创建第一个Demo
近期在工作上有了比較大的转变,自学情绪也慢慢高涨,本来一直在研究unity的技术.由于换了工作会開始接触cocos2d-x.但并不意味着停止研究unity,以后有时间还是会继续的. 公司的cocos2 ...
- 使用android的mediaplayer做成 一个demo,欢迎测试使用
附件是为一个定制视频产品而简单的写了一个demo,用来说明android的mediaplayer是如何使用的. http://files.cnblogs.com/guobaPlayer/palyerD ...
随机推荐
- hdu 5536 xor题
input 1<=T<=1000 3<=n<=1000 s1 s2 ... sn 0<=si<=10e9 最多十个样例n>=100 output max((a ...
- 修改config.php配置
$data=array( "name"=>"222222", "tel"=>159131, "address" ...
- 修改apache配置文件去除thinkphp url中的index.php
例如你的原路径是 http://localhost/test/index.php/index/add那么现在的地址是 http://localhost/test/index/add如何去掉index. ...
- partial 函数
函数的partial应用 函数在执行时,要带上所有必要的参数进行调用.但是,有时参数可以在函数被调用之前提前获知.这种情况下,一个函数有一个或多个参数预先就能用上,以便函数能用更少的参数进行调用. 例 ...
- UVA - 12563 Jin Ge Jin Qu hao (01背包变形)
此题应该注意两个点,首先背包容量应该缩减为t-1,因为最长的歌不超过三分钟,而劲歌金曲有678s,所以肯定要留出这个时间来.其次注意优先级,保证唱的歌曲数目最多,在此前提下尽可能的延长时间. 处理方法 ...
- ARP及RARP简介
1.概念 ARP(Address Resolution Protocol) 地址解析协议 RARP(Reverse Address Resolution Protocol) 反向地址解析协议 2.AR ...
- crontab使用和格式
什么是crontab crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令.具体的用法见下图: 关于crontab的格式: crontab的格式是分为6列:f1 f2 ...
- hdu_5723_Abandoned country(最小生成树)
题目链接:hdu_5723_Abandoned country 题意: 让你求最小生成树的花费,然后求任给两点的期望路程 题解: 最小生成树大家都会求,Kruskal这里要改改,因为后面要求任意两点的 ...
- springmvc json数据
的 @RequestMapping("/getAllEdu") @ResponseBody public void getAllEdu(HttpServletRequest req ...
- JS读RSS
<html> <head> <title>javascript读取RSS数据</title> <META content="t ...