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 {
    
}
View Code

数据源配置文件 默认放在 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'}
        }
    }
}
View Code

六、业务操作

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;
    }

}
View Code

七、总结 

 看官们  是不是觉得 Nutz很简单 很容易上手了 那就赶紧去官网下载 试试吧 

告诉你们一个小秘密  还有代码自动生成器哦  一般人我可是不会告诉的哦

原文地址:https://www.cnblogs.com/lyayzh/p/3496485.html