天天看點

Nutz 第一個Demo

Nut 是什麼 我這就不多解釋 知道是個javaweb架構 如想仔細了解請移步管網 http://nutzam.com/

一、項目結構(直接看圖

Nutz 第一個Demo

   需要注意的是 src和conf 都為源碼包 conf包下為 一些json格式配置檔案 這中配置檔案作者表提倡

二、基礎jar包

Nutz 第一個Demo

lombok.jar 是一個 插件包 為了java 檔案省去set/get 方法的編寫    看客們可以忽略

其他jar包 就不用解釋了吧

三、web.xml 檔案

Nutz 第一個Demo

其中配置 就是一個主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