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的更多相关文章

  1. angular开发者吐槽react+redux的复杂:“一个demo证明你的开发效率低下”

    曾经看到一篇文章,写的是jquery开发者吐槽angular的复杂.作为一个angular开发者,我来吐槽一下react+redux的复杂. 例子 为了让大家看得舒服,我用最简单的一个demo来展示r ...

  2. 初识nginx之第一个demo

    商城项目做了一个多月了,想到必须用到负载均衡,简单了解了一下nginx,首先分享第一个demo,五月份上线后,会继续分享一系列相关知识. 在nginx根目录下,用了一个园友的批处理文件nginx.ba ...

  3. springMvc的第一个demo

    1.下载jar包 http://repo.spring.io/libs-release-local/org/springframework/spring/4.2.3.RELEASE/ 2.下载源码 j ...

  4. Android 通知栏Notification的整合 全面学习 (一个DEMO让你完全了解它)

    在android的应用层中,涉及到很多应用框架,例如:Service框架,Activity管理机制,Broadcast机制,对话框框架,标题栏框架,状态栏框架,通知机制,ActionBar框架等等. ...

  5. 如何在WTL和MFC中使用duilib及如何静态使用duilib库!(初级讲解 附带一个Demo)

    关于duilib的历史,我也就不多说了,能看到这篇文章的人都是有一定了解才能找到这个的. 我直接说下对这个库的基本使用吧. 我个人对一些好技术都是比较感兴趣的. 因为个人原因 喜欢接触一个好技术. 所 ...

  6. 白盒测试之gtest第一个demo

    认识gtest工具后,关于它的使用,下面将用一个demo程序演示一下gtest的用法以及成果展示. 一.需要测试的C++代码: #include "myfunction.h" // ...

  7. 在VS中实现webService的一个demo(图解)

    在VS中实现webService的一个demo(图解) 先创建一个web项目,创建好web项目后,添加新建项——web服务 在新建好的web服务文件中写如下代码: 生成当前解决方案. 新建一个winf ...

  8. Cocos2d-x 学习(1)—— 通过Cocos Studio创建第一个Demo

    近期在工作上有了比較大的转变,自学情绪也慢慢高涨,本来一直在研究unity的技术.由于换了工作会開始接触cocos2d-x.但并不意味着停止研究unity,以后有时间还是会继续的. 公司的cocos2 ...

  9. 使用android的mediaplayer做成 一个demo,欢迎测试使用

    附件是为一个定制视频产品而简单的写了一个demo,用来说明android的mediaplayer是如何使用的. http://files.cnblogs.com/guobaPlayer/palyerD ...

随机推荐

  1. linq any() all() 返回true 或者false

    一.any()只要有一个符合条件就返回true static void Main(string[] args) { //any 有符合条件的就返回true ,,,,,,,,,}; ); Console ...

  2. python 多线程 paramiko实现批量命令输入输出

    远程批量执行命令 实现多线程执行 速度快 实现多并发登录 #-*- coding: utf-8 -*- #!/usr/bin/python import paramiko import threadi ...

  3. 如何修改android工程的包名?

    在我们android项目开发到一定的程度时由于需要,我们必须修改一下工程的包名,以便更好的发布我们的项目.但是在这个过程中有时候修改好了之后会出现一些错误.下面由小编一步步教你如何更改包名,和解决出现 ...

  4. VS2008 安装后没有模板

    VS2008 安装过程没有任何报错  启动VS2008,新建项目时就成了这样,没有任何模板: 解决方法: 开始 –> 程序 –> Microsoft Visual Studio 2008– ...

  5. Webdriver+testNG+ReportNG+Maven+SVN+Jenkins自动化测试框架的pom.xml配置

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  6. Git本地项目上传 & SourceTree & GitHub 简单使用

    Git(分布式版本控制系统) Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理 ...

  7. 闭包 -> map / floatMap / filter / reduce 浅析

    原创: 转载请注明出处 闭包是自包含的函数代码块,可以在代码中被传递和使用 闭包可以捕获和存储其所在上下文中任意常量和变量的引用.这就是所谓的闭合并包裹着这些常量和变量,俗称闭包.Swift 会为您管 ...

  8. Listview和checkbox多选

    在Android某些开发需求当中,有时候需要在listveiw中加入checkbox实现单选,多选操作.表面上看上去只是改变checkbox那么简单,然而实际开发中,实现起来并不是那么得心应手.尤其当 ...

  9. 拖拽加点ui吧

    有一段时间没写东西了,真的是静下心来不容易的事情. 把之前的代码再翻看下,想想要加点ui什么的. 2d  塔防ui之前 我看过,但放到3d上做,其实难度是很大的. 不过,这不算什么,关键是 合理的 布 ...

  10. 转:通过ant来批量执行jmeter脚本,并生成报告(附: 生成报告时报“Content is not allowed in prolog”这个错误的解决方案)

    最近在使用jmeter写脚本来进行测试,最终写了很多份脚本,然后,就在想,这么多脚本,我不可能一个一个的手动去点啊,有没有什么办法来批量运行Jmeter脚本呢? 这个时候,自然而然地想到了万能的ant ...