全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

spring boot + jpa + kotlin入门实例详解

spring boot +jpa的文章网络上已经有不少,这里主要补充一下用kotlin来做。

kotlin里面的data class来创建entity可以帮助我们减少不少的代码,比如现在这个User的Entity,这是Java版本的:

@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
private String firstName;
private String lastName;
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
}

上面的那一大段变成kotlin,就像下面的这样的:

@Entity
data class User(@Id @GeneratedValue(strategy = GenerationType.AUTO) val id: Long = 0L, val firstName: String = "", val lastName: String = "")

连我这个用C#的人都觉得动心,如果你是Java的开发者,真的可以考虑试试看。

不过,这里还有个小提示,在kotlin里,如果你不给User给出默认的构造函数,那是会报错的,报错信息为

o.s.boot.web.support.ErrorPageFilter : Forwarding to error page from request / due to exception No default constructor for entity: : com._1b2m.springbootkotin.User; nested exception is org.hibernate.InstantiationException: No default constructor for entity: : com._1b2m.springbootkotin.User

提示是没有默认的构造函数,我们可以为User类的构造函数增加参数默认值来完成,就如同上面我写的样子。

题外话,在Java里,IDE可以帮助我们生成getter和setter。但是就算是这样,也没有像kotlin那样能把那么长的代码缩成一行,一个entity一行就写完,这感觉很不要太好。

另外,在Java里,使用CrudRepository时,这样用就行:

@Autowired
UserRepository repository;

但是在kotlin里,编译都无法通过,会报出这样一条错误:

property must be initialized or be abstract

要解决这个问题,需要增加lateinit,就像 这样:

@Autowired
lateinit var repository: UserRepository

其他的基本跟Java一致。

本文提到的源码放在github

在写spring boot程序时,kotlin的确少写了非常多的代码,这令我对这门语言也有所期待了。

以上所述是小编给大家介绍的spring boot + jpa + kotlin入门实例详解 ,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!


# spring  # boot  # jpa  # 实例  # kotlin  # 关于Spring Boot和Kotlin的联合开发  # 使用Spring boot + jQuery上传文件(kotlin)功能实例详解  # Spring Boot 与 Kotlin 使用JdbcTemplate连接MySQL数据库的方法  # Spring Boot 与 kotlin 使用Thymeleaf模板引擎渲染web视图的方法  # Kotlin + Spring Boot 请求参数验证的代码实例  # 详解用Kotlin写一个基于Spring Boot的RESTful服务  # Spring Boot 与 Kotlin 使用Redis数据库的配置方法  # Spring Boot 与 Kotlin 上传文件的示例代码  # Spring Boot与Kotlin定时任务的示例(Scheduling Tasks)  # 利用Kotlin + Spring Boot实现后端开发  # 就像  # 报错  # 可以帮助  # 小编  # 这是  # 如果你  # 放在  # 你是  # 有个  # 那是  # 是这样  # 我对  # 其他的  # 我们可以  # 就行  # 的人都  # 给大家  # 写了  # 不给  # 那一 


相关文章: 打鱼网站制作软件,波克捕鱼官方号怎么注册?  建站与域名管理如何高效结合?  建站之星安装步骤有哪些常见问题?  已有域名和空间如何快速搭建网站?  建设网站制作价格,怎样建立自己的公司网站?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  如何通过虚拟主机空间快速建站?  如何优化Golang Web性能_Golang HTTP服务器性能提升方法  ,柠檬视频怎样兑换vip?  西安专业网站制作公司有哪些,陕西省建行官方网站?  制作宣传网站的软件,小红书可以宣传网站吗?  北京的网站制作公司有哪些,哪个视频网站最好?  建站之星如何防范黑客攻击与数据泄露?  如何选择CMS系统实现快速建站与SEO优化?  制作表格网站有哪些,线上表格怎么弄?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  如何通过VPS搭建网站快速盈利?  建站之星如何开启自定义404页面避免用户流失?  Android自定义listview布局实现上拉加载下拉刷新功能  盐城做公司网站,江苏电子版退休证办理流程?  如何在IIS管理器中快速创建并配置网站?  制作农业网站的软件,比较好的农业网站推荐一下?  建站之星安装需要哪些步骤及注意事项?  做企业网站制作流程,企业网站制作基本流程有哪些?  长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?  如何通过老薛主机一键快速建站?  nginx修改上传文件大小限制的方法  如何用狗爹虚拟主机快速搭建网站?  学校为何禁止电信移动建设网站?  招贴海报怎么做,什么是海报招贴?  如何通过FTP空间快速搭建安全高效网站?  Python lxml的etree和ElementTree有什么区别  建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南  详解jQuery停止动画——stop()方法的使用  常州自助建站:操作简便模板丰富,企业个人快速搭建网站  实现虚拟支付需哪些建站技术支撑?  定制建站流程解析:需求评估与SEO优化功能开发指南  小说建站VPS选用指南:性能对比、配置优化与建站方案解析  C#如何序列化对象为XML XmlSerializer用法  网站制作免费,什么网站能看正片电影?  高端网站建设与定制开发一站式解决方案 中企动力  如何选择香港主机高效搭建外贸独立站?  个人摄影网站制作流程,摄影爱好者都去什么网站?  大学网站设计制作软件有哪些,如何将网站制作成自己app?  宿州网站制作公司兴策,安徽省低保查询网站?  定制建站流程步骤详解:一站式方案设计与开发指南  如何在香港免费服务器上快速搭建网站?  如何在局域网内绑定自建网站域名?  电脑免费海报制作网站推荐,招聘海报哪个网站多?  如何高效配置香港服务器实现快速建站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。