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 ...
随机推荐
- 'customerService' for bean class [com.cd.service.business.customer.impl.CustomerService]
'customerService' for bean class [com.cd.service.business.customer.impl.CustomerService] 此处报错是因为我 把一 ...
- wpf 类似TextBlock外观的Button的样式
<Style x:Key="noborderbtnStyle" TargetType="{x:Type Button}"> <Setter P ...
- 转 : ANT 调用sqlplus 客户端
Jenkins安装与配置 (版本控制) 1 用ant脚本执行sql语句现在我需要写一个ant脚本来实现项目安装,情况是这样的,客户现在运行的版本可能是2.0,安装目录里可能有REL_1_0,REL_ ...
- php 10.2总
注意事项 获取表单信息 <?php if($_POST["submit"]=="登录"){ echo "您输入的用户名为:".$_PO ...
- php 生成二维码 代码示例
logo 是正方形 或者 圆形的 居多 <?php include ('phpqrcode.php'); $value = 'http://www.codesc.net ...
- sql高级篇(一)
1.select top mysql中: select * from persons limit 5; 相当于oracle中的: select * from persons <=5; 在翻页中经 ...
- ACM暑期训练总结
ACM暑期集训总结报告 不知不觉,ACM暑期集训已经过去了一个月了(其实我还差几天才够一个月,因为最后几天要回家办助学贷款,所以没坚持到最后,当了个逃兵.....[汗])也到了结束的时候.在这一个月中 ...
- html base1
标题: 标题(Heading)是通过 <h1> - <h6> 等标签进行定义的. <h1> 定义最大的标题.<h6> 定义最小的标题. 段落: < ...
- 基于IDL 的WebRS系统设计图
图1 用例图 图2 结构图
- 上传Android或Java库到Maven central repository(转载)
主要介绍利用Sonatype将jar或aar提交到Maven的中央仓库. 是不是希望将自己的jar或是aar传到maven官方库中,在The Central Repository中可以被其他人搜索使用 ...