2021年4月
第8期总第474期
April2021
No.8Total No.474内蒙古科技与经济
Inner Mongolia Science Technology&Economy
基于Spring与Kotlin的图书馆校外读者注册系统的设计与实现
王龙军
(成都工业学院,四川成都611730$
摘要:在后疫情时代高校图书馆在线业务的开展显得非常重要,高校图书馆需要面向社会开放$图书馆校外读者注册系统正是面向社会读者开放的很重要的一个在线系统,同时也是图书馆在线业务的一个重要环节,采用Spring和Kotlin技术设计了基于Spring与Kotlin的校外读者注册系统,该系统使用了浏览器/服务器(B/S)模式$系统不需要安装任何的客户端,实现了用户轻松注册、管理员安全高效地管理校外读
者用户信息等功能,用户注册后可以拥有一个电子借阅卡,该借阅卡可以和绑定$能够实现校外读者使用图书馆纸质资源和电子资源&
关键词:Spring;Kotlin;图书馆;校外读者;注册系统
中图分类号:TP311;G250.73文献标识码:A文章编号1007—6921(2021)08—0090—02
随着移动互联网和人工智能时代的到来,知识更新日新月异#土会大众对知识特别是专业知识的学习的需求越来越高,高校图书馆的资源能满足社会大众对知识的需要°高校图书馆同样作为我国公共文化服务体系中的一部分,在为高校人才培养与科学研究提供服务的同时也具有社会服务的职能高校图书馆开展面向社会读者的服务不但可以提高图书馆纸质资源和电子资源的利用率,而且能够促进服务高校教学科研和服务社会的双重发展,这样既可以充分利用高校图书馆的专业纸质和电子资源的专业优势,又可以增强图书馆的可持续发展和增强馆员的社会服务意识°因此,高校图书馆应在满足服务科研及教学需要后可以向社会读者开放,怎么样服务社会读者,传统的做法是为社会读者办理校外读者卡,随着时代的发展传统的做法越来越跟不上时代的发展,高校图书馆开发校外读者注册系统真是迎合社会读者和时代的需要°
1Spring与Kotlin简介
1.1Spring介绍
Spring是分层的Java SE/EE应用一站式的轻量级开源框架Spring框架的核心是“控制反转(IoC)和面向切面编程(AOP$.Spring的主要优势在于分层架构的解决方案,在表现层可以与Spring MVC这样的MVC框架进行整合,在业务逻辑层可以提供通用的管理事务和日志功能,在持久层可以与MyBatis等框架整合,Spring框架可以应用于Java EE开发的所有分层并提供解决方案,但是Spring的伟大之处在于可以与许多行业中优秀的框架进行完美整合,Spring的目标不是取代现有的框架,因为Spring的开发团队认识到他们不能在所有方面都能做到最好,但Spring能够整合行业中最优秀的框架°
Spring的配置方式非常重要,Spring容器会自动完成对Bean对象(Spring Bean是被实例的,组装的及被Spring容器管理的Java对象)的实例化,这样就实现了Java对象之间解耦,避免硬编码造成程序之间的过度耦合°Spring在构建Java EE时是一个黏合剂.Spring依靠IoC容器进行基于XML的配置是Spring早期主要的方式#随着项目越来越多,基于XML的配置显得越来越臃肿,后来出现了基于注解的配置和基于Java类的配置#主要目的还是简化配置,实现更加灵活多样的配置方式,多种配置方式相结合°
Spring3种配置方式如下:①基于XML的配置°从Spring  1.I时开始,Spring主要采用XML 配置Spring Bean,用XML配置文件来管理Bean 之间的关系°②基于注解的配置°由于项目越来越大,过多地使用基于XML的配置会变得越来越臃肿,所以在Spring  2.i时代,由于JDK  1.5以后就开始提供对注解的支持Spring此时提供了Bean 的定义信息可以通过在Bean的实现类上标注注解来实现,这样会大大减少
了配置量°③基于Java类的配置°Spring  3.0以后,提供了Java配置的能力‘Spring  4.i和Spring Boot都推荐使用Java配置°其中基于注解的配置和基于Java类的配置区别:需要在Serivce层,DAO层的时候,需要在类上进行注解,就可获得spring的依赖注入;如果使用java配置的方式,那么就不需要在类上写注解了,直接在配置类里面进行声明就可以了°
Spring Boot更是在Spring配置上更进一步,它采用“约定优于配置”的原则,实现零配置和自动化配置,简化了Spring配置°
收稿日期2020—12—08
基金项目2018年度校级项目(项目编号:2018ZR014)&
作者简介:王龙军(1977—),男,讲师,硕士,研究方向Java EE企业级开发、Android移动应用开发、计算机可视化研究&・90・
王龙军・基于Spring与Kotlin的图书馆校外读者注册系统的设计与实现2021年第8期
1.2Kotlin介绍
Kotlin是基于JVM的编程语言#由JetBrains 公司研发和维护,可以将它编译成Java字节码,也可以将它
编译成JavaScript#方便在没有JVM的设备上运行⑶’Kotin与Java⑷语言完全兼容,而且Kotlin代码比Java代码更具有现代性,比如Kotlin 支持函数式编程、委托、扩展、对象表达式等°Kot­lin应用范围非常广泛,Kotin可用于网页前端开发,代替JavaScript这一用得比较多的前端开发语言#Kotlin也可以用于服务器端开发#比如和Struts A Spring MVC^MyBatis等框架一起做后端开发,Kotlin可以利用Java现有的各种框架,Kotlin 可以和Java进行混合开发,Kotlin被Google推荐为Android开发的官方语言,这是Kotlin开发用来进行Android开发,Kotlin在开发Android时可以调用Java现有的比较成熟的Java库,还可以调用Kotlin自己的扩展库°
Kotlin来源于Java语言,同时Kotlin对Java 进行大规模的改良#Kotlin语法类似于JavaScript 和Java,Kotlin和Swift一样具备现代编程语言很多特征.Kotlin经常被认为是一门类似于Scala的开发语言,两种语言都来源于对Java语言的改良# Kotin从Scala语言借鉴了很多优秀的特性,这是每种语言发展的必然趋势,语言之间相互学习、相互竞争、相互促进的良性循环°Scala热衷于编程语言的研究和探索,Scala包含了很多理想的语言特性,而Kotlin简化了Scala的繁杂的语言特性,Kotlin在Java的基础上进行语言特性的改良#比如可控类型、扩展函数、数据类等.Kotlin放弃了Static关键字,引入Object,当然Kotlin无法想Java那样编写静态属性、静态方法.Kotlin实现了类型推导,这给程序员带来很大的方便°Kotlin还引入了很多新类,比女口Sealed Classes^Data Classes等,Kotlin注重开发工程的实用性,总之.Kotlin是一门开放、现代、强大的编程语言°
2.1校外读者注册系统总体设计
本设计基于Spring与Kotlin的校外读者注册系统,该系统采用浏览器/服务器(B/S)模式,该系统总体上分为两部分:系统前台和系统后台,系统前台主要功能是校外读者通过注册成为图书馆的校外用户,图书馆是面向校外读者开放,注册为校外读者用户后就可以拥有一张电子借阅卡,该借阅卡可以为进行绑定°该用户就可以拥有图书馆借还纸质图书、使用图书馆电子资源等的权限;系统后台是图书馆管理员通过后台权限认证后管理校外读者的记录,包括审核注册用户、修改用户错误的记录信息、删除非法注册用户°校外读者注册系统总体结构,如图1所示°
2.2校外读者注册系统实现
DAO模式是标准的Java EE设计模式之一, DAO设计模式把底层的数据访问逻辑和高层的商务逻辑分开,DAO模式的核心思想是DAO组件封装了数据库的增删改查等原子操作,所有的数据库访问是通过DAO组件完成,业务逻辑组件依赖DAO组件提供的原子操作Java EE可以分为以下3层:表现层,业务逻辑层,数据持久层°Spring提供了一系列的抽象类,这些抽象类将被作为应用中DAO组件可以通过这些抽象类,Spring简化了DAO的开发步骤,能够以一致的访问方式使用数据库访问技术,无论底层采用JDBC、JDO,还是H--bernate^MyBatis等,Spring系统应用都采用一致的编程模型.Spring提供的多种
数据库访问技术的DAO支持,包括Hibernate、JDO、TopLing、MyBa-tis、OJB、Spring Data JPA等°
本系统采用DAO模式来完成整个框架的构建,本系统主要采用Spring和Hibernate.其中Hi­bernate用于持久层,主要完成对校外读者用户表的增删改查等数据表操作,Spring主要用来整合各层,在表现层提供了与Spring MVC框架的整合,在持久层整合Hibernate框架,在业务逻辑层主要使用AOP实现管理事务,Spring是一个,一站式”的整合框架°在这里简单介绍一下Hibernate,Hiber-nate是一个开放源代码的对象关系映射框架,Hi­bernate对JDBC进行了非常轻量级的对象封装,它将简单的Java对象(POJO)与数据库中数据表建立映射关系,跟MyBatis是半自动框架不同,Hiber­nate是一个全自动的ORM框架,Hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以按照对象编程思维来操纵数据库°
笔者重点讨论Spring与Hibernate的整合,其基本思想是:让Spring的IoC容器管理Hibernate 的SessionFactory?Hibernate使用Spring的事务管理,具体就是Spring配置数据源DataSource.Hi­bernate的sessionFactory在Spring的配置文件中定义,当SessionFactory被配置注入后,然后在应用程序中通过IoC获取配置注入的SessionFactory的实例Bean.通过HibernateTemplate类实现对用户表的增删改查操作'系统部分代码如下:
class UserDaoImpl:UserDao{
©Autowired
private val hibernateTemplate:Hibernate Template?=null
fun findById(id:Int?):User{
(下转第94页)
・91
总第474期内蒙古科技与经济
文化活动类,与点“在看”的功能有很大联系,不仅可以分享给好友,也能起到快速查的作用’点“在看.读者体是信息传播者,更是信息的参与者、互动者’4深化阅读推广作用的建议
各推送条数存在很大差距,产生的互动行为程度也是如此°借鉴推广影响面比较大的或阅读信息,笔者在此基础上总结几点深化阅读推广作用的建议°
4.1转换阅读推广中的角邑
高校图书馆服务的读者是特定范围的,也是具备条件将服务覆盖到每一位读者的,每届大一新生到校报到前,图书馆已为每一位学生建好阅读账号°因此,高校图书馆关注人数是可观的,这是我们高校图书馆的优势所在'但各高职院校图书
馆推送的阅读信息的阅读数超过两位数已是高阅读量的信息,精选留言数、、在看”数没有是常态°苏州市职业大学图书馆推送的/活动公告;4月25日刘同V别做那只迷途的候鸟%新书签售会:苏州市职业大学站;来啦!(内含福利)》/活动公告;张嘉佳新作V云边有个小卖部%校园分享会,附抢票攻略哦〜》的精选留言量、在看”量特别突出°此类文化活动特别受读者的喜爱不仅在于有知名度的作家见
面会,还在于图书本身是读者喜爱的作品#这两部作品的阅读受众就是大学生°因此,在图书推荐或其他形式的阅读活动中,除了引导读者的阅读品味外,图书馆需要具备“读者意识.从读者的角度去思考°
4.2保持活动流程连贯性
推送阅读信息中文化活动是最让读者互动的,都有一个共性:对一个活动的进展保持连续地推送°以苏州职业大学为例,对刘同《别做那只迷途的候鸟》新书签售会活动推送了5期,从活动前期的宣传、活动现场的报告、活动结束的总结报道了活动的全流程°整个活动开展期间热度不减,读者互动行为强烈°图书馆在活动举办中要避免“重开头,轻结尾”的现象,保持整个活动流程的连贯°4.3增加读者间的互动
泰州职业技术学院推送的《书法比赛作品投票开始啦》、南京科技职业学院图书馆推送的/南科院第一届阅读主题海报创意设计大赛”等你来投票》均得到读者较高的互动°在这类活动中,图书馆仅作媒介,将活动参与者与其他读者联系起来,让读者去互动、去评价、去表达°因受限读者间不能直接对话留言,对读者留言的处理仅停留在回复上°在这两篇投票信息中,一些参与者会在留言处为自己的作品拉票加油°这给我们很大的启发,我们将读者留言精选出来进行回复并不是结束,我们也是读者互动的桥梁°我们要激发读者留言的热情、增加读者留言互动的可能°操作方法可以借鉴帖子的互动方式°
4.4开展多样的阅读推广模式
spring mvc和boot区别各高职院校进行阅读推广一般采取定期图文消息推送模式+设立专题菜单栏组合模式°开展活动中很有局限性#比如:读者活动报名、读书打卡’可以配合现有模式增加小程序模式,小程序无须单独下载,在内直接搜索即可使用’小程序的方便使用也有利于读者阅读兴趣的培养'
[参考文献%
「1"王波”图书馆阅读推广的定义、类型、方法一—在"图书馆阅读推广理论与实践'专题研讨
会上的演讲上海高校图书情报工作研
究,2017,27(1):6〜19,3”
!"杨红岗,蒲攀,荣翠琴”基于wci的我国高校图书馆阅读推广研究—
—以首批国家示范性高职院校为例四川图书馆学
报,2019,(3):62〜66”
(上接第91页)
return (User:: class,java,id)}
fun findAlK):ListVUser%{
return this.hibernateTemplate.find("from User")}
fun save(user:User){
this.hibernateTemplate.save(user)}
fun update(user:User){
this.hibernateTemplate.update(user)}
fundelete(user(User){
this.hibernateTemplate.delete(user)}
}
3结束语
笔者采用Spring与Kotlin技术实现了校外读者注册系统,该系统改变了传统的校外读者现场办理校外读者卡的方式,系统实现了用户不用到现场、直接在线就可以注册办理校外读者电子借阅卡,该借阅卡可以和绑定,能够实现校外读者使用图书馆纸质资源和电子资源,系统投入使用后能大大提高图书馆在管理校外读者的效率,并进一步提升图书馆的自动化水平'
[参考文献%
「1"何奇典”高校图书馆社会化服务水平提升研究「D"济南:山东财经大学2018.
「2"陈雄华,林开雄,文建国”精通Spring  4.x:企业应用开发实战「M"北京:电子工业出版
社2017:2〜3.
!"王志强.Kotlin开发快速入门与实战「M"北京:电子工业出版社2017:1〜2”
「4"吕海东,张坤”Hibernate+Spring简明实例教程「M"北京:清华大学出版社,2018:1〜
4.
・94・

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。