• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

nutz: Nutz核心代码 -- 镜像自 https://github.com/nutzam/nutz 请到论坛反馈 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

nutz

开源软件地址:

https://gitee.com/wendal/nutz

开源软件介绍:

Nutz

Build StatusCircle CICoverity Scan Build StatusMaven Centralcodecov.ioGitHub releaseLicense

对于 Java 程序员来说,除 SSH 之外,的另一个选择

Talk is cheap. Show me the code!!

项目目标

在力所能及的情况下,最大限度的提高 Web 开发人员的生产力。

项目各种资源地址

现已通过 Oracle JDK 8、Oracle JDK 7、OpenJDK 7、OpenJDK 6下的 maven 测试,请查阅 Travis CI地址CircleCI地址

Nutz生态系统(讨论稿)

nutz系统架构

基于注解配置

MainModule主配置类

@SetupBy(value=MainSetup.class)@IocBy(type=ComboIocProvider.class, args={"*js", "ioc/",										   "*anno", "net.wendal.nutzbook",										   "*quartz",										   "*async",										   "*tx"										   })@Modules(scanPackage=true)@ChainBy(args="mvc/nutzbook-mvc-chain.js")@Ok("json:full")@Fail("jsp:jsp.500")@Localization(value="msg/", defaultLocalizationKey="zh-CN")@Views({BeetlViewMaker.class})@SessionBy(ShiroSessionProvider.class)public class MainModule {}

入口方法

  @At  @RequiresPermissions("user:delete")  @Aop(TransAop.READ_COMMITTED)  @Ok("json")  public Object delete(@Param("id")int id) {    int me = Toolkit.uid();    if (me == id) {      return new NutMap().setv("ok", false).setv("msg", "不能删除当前用户!!");    }    dao.delete(User.class, id); // 再严谨一些的话,需要判断是否为>0    dao.clear(UserProfile.class, Cnd.where("userId", "=", me));    return new NutMap().setv("ok", true);  }

非MVC环境下的NutDao -- DaoUp类

// 初始化DaoUp类DaoUp.me().init(("db.properties"));Dao dao = DaoUp.me().dao();dao.insert("t_user", Chain.make("id", 1).add("nm", "wendal").add("age", 30));List<Record> users = dao.query("t_user", Cnd.where("age", "<", 25).desc("nm"));List<User> girls = dao.count(User.class, Cnd.where("age", "<", 25).and("sex", "=", "female"));// 程序结束前销毁DaoUp.me().close();

Maven 资源

稳定发布版本

		<dependency>			<groupId>org.nutz</groupId>			<artifactId>nutz</artifactId>			<version>1.r.59</version>			<exclusions>				<exclusion>					<artifactId>servlet-api</artifactId>					<groupId>javax.servlet</groupId>				</exclusion>			</exclusions>		</dependency>

快照版本在每次提交后会自动deploy到sonatype快照库,享受各种bug fix和新功能

	<repositories>		<repository>			<id>nutzcn-snapshots</id>			<url>https://jfrog.nutz.cn/artifactory/snapshots</url>			<snapshots>				<enabled>true</enabled>			</snapshots>		</repository>	</repositories>	<dependencies>		<dependency>			<groupId>org.nutz</groupId>			<artifactId>nutz</artifactId>			<version>1.r.60-SNAPSHOT</version>		</dependency>		<!-- 其他依赖 -->	</dependencies>

也可以将repositories配置放入$HOME/.m2/settings.xml中

或者直接去快照库下载

Gradle 依赖

compile(group: 'org.nutz', name: 'nutz', version:'1.r.59')

Android下使用nutz时的注意事项

  • Dao基于JDBC API,所以无法工作
  • AOP在Android的类加载机制下无法使用
  • Scans及Ioc中类扫描机制,是不能工作的
compile(group: 'org.nutz', name: 'nutz', version:'1.r.59', classifier:'android')

混淆时需要加入的配置

### for nutz-keepattributes Signature-dontwarn org.nutz.**-keep class org.nutz.castor.** { *; }-keep interface org.nutz.castor.** { *; }# 以下的按需选用#-keep class org.nutz.lang.** { *; }#-keep class org.nutz.log.** { *; }#-keep class org.nutz.http.** { *; }#-keep class org.nutz.json.** { *; }#-keep class org.nutz.mapl.** { *; }# 或直接使用全家桶#-keep class org.nutz.** { *; }

Sponsorship

YourKit supports open source projects with its full-featured Java Profiler.YourKit, LLC is the creator of YourKit Java Profilerand YourKit .NET Profiler,innovative and intelligent tools for profiling Java and .NET applications.

YourKit Logo

JetBrains IntelliJ IDEA

http://www.jetbrains.com

关于我们

广州市文尔软件科技有限公司


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap