zoukankan      html  css  js  c++  java
  • 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很简单 很容易上手了 那就赶紧去官网下载 试试吧 

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

  • 相关阅读:
    GDI+之图形缩放之画蛇添足
    Could not load type 'Microsoft.Expression.DesignModel.Core.ISharedInstanceBuilder'
    Win7自带显示驱动在Thinkpad T400中的异常:Display Driver Stopped Responding and Has Recovered
    Silverlight5.0中,ImageBrush不再支持TileMode属性
    GDI+中启动双缓存后缩放失效的问题
    Result of Transforming XML by XSLT in Different Browsers
    Difference of Getting DOM ElementsM Between IE6 & FF2
    项目进入R1 Preview,总算可以偷着乐会了
    原来mod_cache是需要代理的
    在Fedora11上安装Chrome
  • 原文地址:https://www.cnblogs.com/lyayzh/p/3496485.html
Copyright © 2011-2022 走看看