999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Spring與Kotlin的圖書館校外讀者注冊系統的設計與實現

2021-06-08 09:28:20王龍軍
內蒙古科技與經濟 2021年8期
關鍵詞:數據庫圖書館用戶

王龍軍

(成都工業學院,四川 成都 611730)

隨著移動互聯網和人工智能時代的到來,知識更新日新月異,社會大眾對知識特別是專業知識的學習的需求越來越高,高校圖書館的資源能滿足社會大眾對知識的需要。高校圖書館同樣作為我國公共文化服務體系中的一部分,在為高校人才培養與科學研究提供服務的同時也具有社會服務的職能[1]。高校圖書館開展面向社會讀者的服務不但可以提高圖書館紙質資源和電子資源的利用率,而且能夠促進服務高校教學科研和服務社會的雙重發展,這樣既可以充分利用高校圖書館的專業紙質和電子資源的專業優勢,又可以增強圖書館的可持續發展和增強館員的社會服務意識。因此,高校圖書館應在滿足服務科研及教學需要后可以向社會讀者開放,怎么樣服務社會讀者,傳統的做法是為社會讀者辦理校外讀者卡,隨著時代的發展傳統的做法越來越跟不上時代的發展,高校圖書館開發校外讀者注冊系統真是迎合社會讀者和時代的需要。

1 Spring與Kotlin簡介

1.1 Spring介紹

Spring是分層的Java SE/EE應用一站式的輕量級開源框架[2],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.x時開始,Spring主要采用XML配置Spring Bean,用XML配置文件來管理Bean之間的關系。②基于注解的配置。由于項目越來越大,過多地使用基于XML的配置會變得越來越臃腫,所以在Spring 2.x時代,由于JDK 1.5以后就開始提供對注解的支持,Spring此時提供了Bean的定義信息可以通過在Bean的實現類上標注注解來實現,這樣會大大減少了配置量。③基于Java類的配置。Spring 3.0以后,提供了Java配置的能力,Spring 4.x和Spring Boot都推薦使用Java配置。其中基于注解的配置和基于Java類的配置區別:需要在Serivce層,DAO層的時候,需要在類上進行注解,就可獲得spring的依賴注入;如果使用java配置的方式,那么就不需要在類上寫注解了,直接在配置類里面進行聲明就可以了。

Spring Boot更是在Spring配置上更進一步,它采用“約定優于配置”的原則,實現零配置和自動化配置,簡化了Spring配置。

1.2 Kotlin介紹

Kotlin是基于JVM的編程語言,由JetBrains公司研發和維護,可以將它編譯成Java字節碼,也可以將它編譯成JavaScript,方便在沒有JVM的設備上運行[3]。Koltin與Java[4]語言完全兼容,而且Kotlin代碼比Java代碼更具有現代性,比如Kotlin支持函數式編程、委托、擴展、對象表達式等。Kotlin應用范圍非常廣泛,Kotlin可用于網頁前端開發,代替JavaScript這一用得比較多的前端開發語言,Kotlin也可以用于服務器端開發,比如和Struts、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 Spring與Kotlin在校外讀者注冊系統設計和實現

2.1 校外讀者注冊系統總體設計

本設計基于Spring與Kotlin的校外讀者注冊系統,該系統采用瀏覽器/服務器(B/S)模式,該系統總體上分為兩部分:系統前臺和系統后臺,系統前臺主要功能是校外讀者通過注冊成為圖書館的校外用戶,圖書館是面向校外讀者開放,注冊為校外讀者用戶后就可以擁有一張電子借閱卡,該借閱卡可以為微信進行綁定。該用戶就可以擁有圖書館借還紙質圖書、使用圖書館電子資源等的權限;系統后臺是圖書館管理員通過后臺權限認證后管理校外讀者的記錄,包括審核注冊用戶、修改用戶錯誤的記錄信息、刪除非法注冊用戶。校外讀者注冊系統總體結構,如圖1所示。

圖1 校外讀者注冊系統總體結構

2.2 校外讀者注冊系統實現

DAO模式是標準的Java EE設計模式之一,DAO設計模式把底層的數據訪問邏輯和高層的商務邏輯分開,DAO模式的核心思想是DAO組件封裝了數據庫的增刪改查等原子操作,所有的數據庫訪問是通過DAO組件完成,業務邏輯組件依賴DAO組件提供的原子操作,Java EE可以分為以下3層:表現層,業務邏輯層,數據持久層。Spring提供了一系列的抽象類,這些抽象類將被作為應用中DAO組件可以通過這些抽象類,Spring簡化了DAO的開發步驟,能夠以一致的訪問方式使用數據庫訪問技術,無論底層采用JDBC、JDO,還是Hibernate、MyBatis等,Spring系統應用都采用一致的編程模型,Spring提供的多種數據庫訪問技術的DAO支持,包括Hibernate、JDO、TopLink、MyBatis、OJB、Spring Data JPA等。

本系統采用DAO模式來完成整個框架的構建,本系統主要采用Spring和Hibernate,其中Hibernate用于持久層,主要完成對校外讀者用戶表的增刪改查等數據表操作,Spring主要用來整合各層,在表現層提供了與Spring MVC框架的整合,在持久層整合Hibernate框架,在業務邏輯層主要使用AOP實現管理事務,Spring是一個“一站式”的整合框架。在這里簡單介紹一下Hibernate,Hibernate是一個開放源代碼的對象關系映射框架,Hibernate對JDBC進行了非常輕量級的對象封裝,它將簡單的Java對象(POJO)與數據庫中數據表建立映射關系,跟MyBatis是半自動框架不同,Hibernate是一個全自動的ORM框架,Hibernate可以自動生成SQL語句,自動執行,使得Java程序員可以按照對象編程思維來操縱數據庫。

筆者重點討論Spring與Hibernate的整合,其基本思想是:讓Spring的IoC容器管理Hibernate的SessionFactory,Hibernate使用Spring的事務管理,具體就是Spring配置數據源DataSource,Hibernate的sessionFactory在Spring的配置文件中定義,當SessionFactory被配置注入后,然后在應用程序中通過IoC獲取配置注入的SessionFactory的實例Bean,通過HibernateTemplate類實現對用戶表的增刪改查操作。系統部分代碼如下:

class UserDaoImpl : UserDao {

@Autowired

private val hibernateTemplate: Hibernate Template? = null

fun findById(id: Int?): User {

return this.hibernateTemplate.get(User::class.java, id)}

fun findAll(): List {

return this.hibernateTemplate.find("from User")}

fun save(user: User) {

this.hibernateTemplate.save(user) }

fun update(user: User) {

this.hibernateTemplate.update(user) }

fun delete(user: User) {

this.hibernateTemplate.delete(user)}

}

3 結束語

筆者采用Spring與Kotlin技術實現了校外讀者注冊系統,該系統改變了傳統的校外讀者現場辦理校外讀者卡的方式,系統實現了用戶不用到現場、直接在線就可以注冊辦理校外讀者電子借閱卡,該借閱卡可以和微信綁定,能夠實現校外讀者使用圖書館紙質資源和電子資源,系統投入使用后能大大提高圖書館在管理校外讀者的效率,并進一步提升圖書館的自動化水平。

猜你喜歡
數據庫圖書館用戶
圖書館
小太陽畫報(2018年1期)2018-05-14 17:19:25
數據庫
財經(2017年2期)2017-03-10 14:35:35
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
飛躍圖書館
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數據庫
財經(2016年15期)2016-06-03 07:38:02
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
圖書館里的是是非非
主站蜘蛛池模板: 欧美一区二区丝袜高跟鞋| 国产精品原创不卡在线| 色综合五月婷婷| 波多野结衣一区二区三区四区视频| 亚洲精品第一页不卡| 久草视频精品| 天天操精品| 国产成人一区在线播放| 欧美日本在线| 亚洲色无码专线精品观看| 日本人妻丰满熟妇区| 无码丝袜人妻| 亚洲国产成人麻豆精品| 久久九九热视频| 色综合激情网| 无码aⅴ精品一区二区三区| 亚洲色图综合在线| 亚洲精品卡2卡3卡4卡5卡区| 国产精品香蕉在线| 一级毛片免费高清视频| 亚洲成在线观看 | 亚洲综合18p| 精品福利网| 99久久精品免费视频| 欧美精品影院| 无码国产伊人| 亚洲精品图区| 久久国产高清视频| 亚洲床戏一区| 亚洲天堂视频网| lhav亚洲精品| 91精品aⅴ无码中文字字幕蜜桃| 国产精品美女免费视频大全| 免费人成网站在线观看欧美| 亚洲成人手机在线| 亚洲av无码人妻| 蜜桃视频一区二区三区| 亚洲中文字幕久久精品无码一区| 99精品这里只有精品高清视频| 成人国产一区二区三区| 亚洲精品日产精品乱码不卡| 无码福利日韩神码福利片| 国产99精品视频| 在线观看亚洲精品福利片| 91福利免费视频| 亚洲综合婷婷激情| 国产麻豆va精品视频| AV天堂资源福利在线观看| 日韩欧美高清视频| 香蕉久久国产精品免| 国产尤物jk自慰制服喷水| 日本在线视频免费| 丁香婷婷在线视频| 国产又黄又硬又粗| 无码'专区第一页| 多人乱p欧美在线观看| 国产精品漂亮美女在线观看| 国产偷国产偷在线高清| 国产福利一区在线| 亚洲V日韩V无码一区二区| 亚洲综合专区| 国产尤物在线播放| 亚洲精品在线观看91| 色老头综合网| 亚洲国产精品VA在线看黑人| 亚洲人成影视在线观看| 波多野结衣国产精品| 久久 午夜福利 张柏芝| 国产人成网线在线播放va| 在线欧美日韩国产| 色九九视频| 国产美女自慰在线观看| 国产一二视频| 国产区福利小视频在线观看尤物| 福利视频久久| 欧美激情福利| 91亚洲精选| 国产亚洲精品va在线| 亚洲日韩欧美在线观看| 国产精品人莉莉成在线播放| 白浆视频在线观看| 国内毛片视频|