七、Springboot 整合Nutz

本章节基于: 六、Springboot 整合Shiro---03权限控制

Nutz 可以做什么?

  • Dao -- 针对 JDBC 的薄封装,事务模板,无缓存
  • Ioc -- JSON 风格的配置文件,声明时切片支持
  • Mvc -- 注解风格的配置,内置多文件上传功能
  • Json -- 解析和渲染
  • Castors -- Java 对象类型转换
  • Lang -- 更简洁的 Java 函数以及更丰富的反射支持
  • Aop -- 轻便快速的切面编程支持
  • Resource -- 资源扫描

它所有的功能均不强制依赖第三方 jar 包

这就意味着:

  • 如果一个 Web 应用,你在 WEB-INF/lib 下只 需要放置一个 nutz.jar 就够了
  • 当然你要使用连接池,数据库驱动, websocket等功能,还需要自行添置 jar 包。

支持的环境

  • JDK5+, 推荐JDK8
  • 任意SQL数据库,例如MySQL,Oracle,SqlServer等等
  • 任意支持servlet 2.5的web容器, 推荐Tomcat 8.5+/Jetty 9.2+

Nutz 为谁而设计?

  • 如果你觉得 Hibernate 控制比较繁琐,iBatis 编写SQL又比较麻烦,Nutz.Dao 专为你设计。
  • 如果你觉得在多个服务器部署或者修改 Spring 配置文件很麻烦,Nutz.Ioc 专为你设计
  • 如果你觉得直接写 XML 配置文件很麻烦,可视化编辑器又没控制感,Nutz.Mvc 专为你设计
  • 如果你觉得 JSON 转换很麻烦(要写超过一行以上的代码),Nutz.Json 专为你设计
  • 如果你觉得 Java 语法不如 Ruby 便捷, Nutz.Castor 以及 Nutz.Lang 专为你设计
  • 如果你以前根本没接触过 SSH ,只使用 JDBC 编程, 整个 Nutz 专门为你设计

Nutz 的质量

截至到现在为止,Nutz 的 JUnit 用例覆盖率大概是这样的

并且这个数字还在不断增加。

在一个功能告一段落以后,我通常会花1-2个晚上在一边咂着廉价的红酒一边颇有成就感的书写JUnit测试。 通常我会用 JUnit 把我自己击溃,紧接着的那几天我都努力让那个该死红条变绿,之后,又想方设法写出 新的Junit测试试图让它再度变红。并且我还要保证所做的修改不能让代码膨胀,这的确让我死掉了不少脑 细胞。这些测试中,不仅涵盖各种功能上的测试,也涵盖了一些跨越线程的测试。在以后,我会针对代码执 行的效率加入一些新的测试。

Springboot整合Nutz(这里只用到nutz的Dao):

一、在pom文件中引入依赖:

        <!--Springboot整合Nutz-->
        <dependency>
            <groupId>org.nutz</groupId>
            <artifactId>nutz-plugins-spring-boot-starter</artifactId>
            <version>1.r.66</version>
        </dependency>
        <!--阿里的数据连接池-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.9</version>
        </dependency>
        <!--数据库驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

二、在application.yml中配置数据库链接信息和nutz

server:
  #设置程序启动端口号
  port: 7000
beetl:
  #模板路径
  templatesPath: templates
oauth:
  qq:
    #你的appid
    client_id: 123456
    #你的appkey
    client_secret: aaaaaaaaa
    #你接收响应code码地址
    redirect_uri: http://localhost:7000/authorize/qq
    #腾讯获取code码地址
    code_callback_uri: https://graph.qq.com/oauth2.0/authorize
    #腾讯获取access_token地址
    access_token_callback_uri: https://graph.qq.com/oauth2.0/token
    #腾讯获取openid地址
    openid_callback_uri: https://graph.qq.com/oauth2.0/me
    #腾讯获取用户信息地址
    user_info_callback_uri: https://graph.qq.com/user/get_user_info
spring:
  aop:
  #开启aop代理
    auto: true
    proxy-target-class: true
  datasource:
     driver-class-name: com.mysql.jdbc.Driver
     username: root
     password: 123456
     url: jdbc:mysql://127.0.0.1:3306/example?characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false&maxReconnects=10&useSSL=false
     type: com.alibaba.druid.pool.Druid
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Nutz框架整合Spring Boot的过程中,可以按照以下步骤进行操作: 1. 首先,需要在pom.xml文件中添加NutzSpring Boot的相关依赖。可以通过以下代码片段添加依赖: ```xml <!-- Nutz --> <dependency> <groupId>org.nutz</groupId> <artifactId>nutz-web</artifactId> <version>1.r.71</version> </dependency> <!-- Spring Boot --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>2.5.4</version> </dependency> ``` 2. 创建一个继承自SpringBootServletInitializer的类,用于启动Spring Boot应用。可以将以下代码添加到你的项目中: ```java import org.nutz.mvc.annotation.IocBy; import org.nutz.mvc.annotation.Modules; import org.nutz.mvc.ioc.provider.ComboIocProvider; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; @Modules(scanPackage = "your.package.name") @IocBy(type = ComboIocProvider.class, args = {"*js", "ioc/", "*anno", "your.package.name", "*tx"}) public class NutzSpringBootServletInitializer extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(NutzSpringBootServletInitializer.class); } } ``` 3. 创建一个Nutz的配置类,用于配置Nutz的一些参数。可以按照以下代码创建一个示例的配置类: ```java import org.nutz.mvc.annotation.*; import org.nutz.mvc.ioc.provider.ComboIocProvider; @IocBy(type = ComboIocProvider.class, args = {"*js", "ioc/", "*anno", "your.package.name", "*tx"}) @Modules(scanPackage = "your.package.name") @SetupBy(NutzMainSetup.class) @ChainBy(args = "mvc/nutzmvc-chain.js") @Ok("json:full") @Fail("jsp:jsp.500") public class NutzSpringBootConfig { } ``` 4. 最后,在你的Spring Boot主类中,添加`@ImportResource`注解,引入Nutz的配置文件。示例如下: ```java import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ImportResource; @SpringBootApplication @ImportResource(locations = {"classpath:applicationContext.xml"}) public class YourSpringBootApplication { public static void main(String[] args) { SpringApplication.run(YourSpringBootApplication.class, args); } } ``` 完成以上步骤后,Nut框架就与Spring Boot成功整合了。你可以使用Nutz的注解和特性,同时也可以享受Spring Boot的便利。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值