已经用spring-boot启动一个新工程,能够运行,开始写业务代码。dao层繁杂的代码让人望而却步,急切找到一个方法来简化它。

网上找nutz在spring-boot中使用的相关资料,比较匮乏,自己边尝试边整理一下。官方demo

下面给出相关配置,Dao层一个业务实例,以及junit本地测试的实例。

maven

<dependency><groupId>org.nutz</groupId><artifactId>nutz-plugins-spring-boot-starter</artifactId><version>${version}</version>
</dependency>

gradle

compile group: 'org.nutz', name: 'nutz-plugins-spring-boot-starter', version: '1.r.63'

代码实例

1. 业务Dao接口(Resource是自定义的业务数据)

public interface ResourceDao {void insertResource(Resource resource);List<Resource> listResources();
}

2. 业务Dao实现

import org.nutz.dao.Cnd;
import org.nutz.dao.Condition;
import org.nutz.dao.Dao;
import org.nutz.dao.impl.NutDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;import java.util.List;
@Repository
public class ResourceDaoImpl extends NutDao implements ResourceDao {@Autowiredprivate Dao dao;@Overridepublic void insertResource(Resource resource) {dao.insert(resource);}@Overridepublic List<outfox.ynote.data.Resource> listResources() {Condition condition = Cnd.orderBy().desc("id");return dao.query(Resource.class, condition);}
}

3. 配置文件

#---------jdbc with MySQL---------#
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/XXXX
spring.datasource.username=XXXX
spring.datasource.password=XXXX

4. 本地测试和数据库连接

import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;public class TestResourceDao extends CommonTest{@Autowiredpublic ResourceDao resourceDao;@Testpublic void test() {Resource resource = new Resource();// add some resource propertiesresourceDao.insertResource(resource);List<Resource> resourceList = resourceDao.listResources();for (Resource temp : resourceList) {System.out.println(temp.toString());}}
}@RunWith(SpringRunner.class)
@SpringBootTest
@ActiveProfiles("test")
public class CommonTest {@Autowired@Qualifier("jdbcTemplate")protected JdbcTemplate jdbcTemplate;
}@Configuration
@EnableTransactionManagement
public class DBConfig {@Bean(name = "jdbcTemplate")public JdbcTemplate jdbcTemplate(@Qualifier("dataSource") DataSource dataSource) {return new JdbcTemplate(dataSource);}
}

Spring-boot中使用nutz实践相关推荐

  1. Spring Boot 中使用@Async实现异步调用,加速任务执行!

    欢迎关注方志朋的博客,回复"666"获面试宝典 什么是"异步调用"?"异步调用"对应的是"同步调用",同步调用指程序按照 ...

  2. Maven中的profile和spring boot中的profile进行结合

    2019独角兽企业重金招聘Python工程师标准>>> 有一些应用,采用了spring boot和spring boot profile.然后想把maven 中的profile和sp ...

  3. Spring Boot 几条最佳实践!

    点击上方"朱小厮的博客",选择"设为星标" 回复"1024"获取独家整理的学习资料 Spring Boot是最流行的用于开发微服务的Java ...

  4. Spring Boot开发MongoDB应用实践

    本文继续上一篇定时任务中提到的邮件服务,简单讲解Spring Boot中如何使用MongoDB进行应用开发. 上文中提到的这个简易邮件系统大致设计思路如下: 1.发送邮件支持同步和异步发送两种 2.邮 ...

  5. Spring Boot中使用Spring-data-jpa让数据访问更简单、更优雅

    在上一篇Spring中使用JdbcTemplate访问数据库 中介绍了一种基本的数据访问方式,结合构建RESTful API和使用Thymeleaf模板引擎渲染Web视图的内容就已经可以完成App服务 ...

  6. Spring Boot中文文档

    1.5.2.RELEASE Part I. Spring Boot 文档 本节简要介绍了Spring Boot文档,是整个文档的参考指南. 您可以完整阅读本参考指南,或者如果您不感兴趣的话可以跳过该部 ...

  7. 如何在Spring Boot中使用TDD写出高质量的接口

    本文发布于专栏Effective Java,如果您觉得看完之后对你有所帮助,欢迎订阅本专栏,也欢迎您将本专栏分享给您身边的工程师同学. 之前在<如何说服你的同事使用TDD>中介绍了为什么要 ...

  8. Spring Boot 中密码加密的两种姿势!

    先说一句:密码是无法解密的.大家也不要再问松哥微人事项目中的密码怎么解密了! 密码无法解密,还是为了确保系统安全.今天松哥就来和大家聊一聊,密码要如何处理,才能在最大程度上确保我们的系统安全. 本文是 ...

  9. 一种灵活的API设计模式:在Spring Boot中支持GraphQL

    导读:GraphQL是一种基于api的查询语言,它提供了一种更高效.强大和灵活的数据提供方式.它是由Facebook开发和开源,目前由来自世界各地的大公司和个人维护.本文作者先介绍了GraphQL,随 ...

  10. Spring Boot 3.x 最佳实践

    Spring Boot 3.x 最佳实践 Spring Boot不需要任何特定的代码布局.然而有一些最佳实践可以提供帮助. 代码结构 使用默认的包 当一个类没有包含包声明时,它会默认在"de ...

最新文章

  1. spring boot 注解_Spring-Boot项目中如何配置redis注解缓存?
  2. 1.java局部变量 实例变量 类变量(静态变量)
  3. 上学路线 (Standard IO)
  4. P3327 [SDOI2015]约数个数和 (mobius反演)
  5. spark 流式计算_流式传输大数据:Storm,Spark和Samza
  6. Apache Commons Lang StringUtils
  7. jqgrid多选和禁止某行记录选择
  8. 10余万行C代码开源之后,我被震惊了。。。
  9. ×××数据库导数据ora-01400错误小计
  10. 本周ASP.NET英文技术文章推荐[03/23 - 04/05]:C#、Visual Studio、MVC、死锁、Web 2.0 API、jQuery、IIS7、FileUpload...
  11. 信号与系统(二)——正交
  12. 浅谈javascript面向对象编程
  13. ffmpeg 再编译使用 ffmpeg-gl-transition
  14. [MRI]核磁共振头线圈和体线圈
  15. ansible的安装部署与模块使用
  16. c语言实现的学生信息查询系统
  17. PLC常用标志位信号时序编程注意事项
  18. 美丽诗文背诵-未完待续
  19. 王阳明心学:此心光明,夫复何言
  20. 哔咔漫画怎样切换横屏?

热门文章

  1. 数字图像处理艺术化效果——怀旧效果(泛黄旧照片)
  2. 转自博客园- 林梦然+++opencv下指定文件夹下的图片灰度化(图片的读取与保存)-------简单记录
  3. docker配置python环境_PyCharm使用Docker镜像搭建Python开发环境
  4. 语法练习:make_abba
  5. 2022美赛E题题目及思路--林业固碳技术
  6. Chromium命令行开关列表1
  7. 遗传算法(python实现,虚拟机中运行)
  8. 魔兽地图编辑器插件YDWE的使用与基本设置2之空格、复制、粘贴、撤销、重做键
  9. PTA寒假基础题训练(含解题思路)(中)
  10. GUC-11 线程池