基于SSM+SpringBoot+MySQL+LayUI的医院信息管理系统(附论文)
項(xiàng)目運(yùn)行截圖
二.開(kāi)發(fā)目標(biāo)開(kāi)發(fā)環(huán)境及相關(guān)技術(shù)介紹
醫(yī)院管理系統(tǒng)的開(kāi)發(fā)目標(biāo)主要包括:
實(shí)現(xiàn)醫(yī)院內(nèi)部的掛號(hào)、收費(fèi)、藥房、藥庫(kù)、科室、病床的信息化管理。提供記錄醫(yī)院內(nèi)部各類經(jīng)營(yíng)決策匯總和明細(xì)的月報(bào)表、年報(bào)表。
記錄用戶住院信息、醫(yī)生信息、科室,藥品,手術(shù),病床信息等。
藥房管理,藥房報(bào)缺.
庫(kù)房管理,入庫(kù)信息及經(jīng)辦人,查詢剩余庫(kù)存,出庫(kù)單,藥房報(bào)缺后,從庫(kù)房調(diào)取。
2.1.Springboot開(kāi)發(fā)構(gòu)架介紹
簡(jiǎn)介:Spring Boot是由Pivotal團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來(lái)簡(jiǎn)化新Spring應(yīng)用的初始搭建以及開(kāi)發(fā)過(guò)程。該框架使用了特定的方式來(lái)進(jìn)行配置,從而使開(kāi)發(fā)人員不再需要定義樣板化的配置。通過(guò)這種方式,Spring Boot致力于在蓬勃發(fā)展的快速應(yīng)用開(kāi)發(fā)領(lǐng)域(rapid application development)成為領(lǐng)導(dǎo)者。
1:使編碼變得簡(jiǎn)單,SpringBoot采用?JavaConfig的方式,對(duì)Spring進(jìn)行配置,并且提供了大量的注解,極大的提高了工作效率。
2:使配置變得簡(jiǎn)單,SpringBoot提供許多默認(rèn)配置,當(dāng)然也提供自定義配置,但是所有的SpringBoot的項(xiàng)目都只有一個(gè)配置文件:application.properties/application.yml。用了SpringBoot可以不用擔(dān)心配置出錯(cuò)找不到問(wèn)題所在,我們來(lái)看一下SpringBoot配置的圖片
3:使部署變得簡(jiǎn)單,SpringBoot內(nèi)置了三種Servlet容器,Tomcat,Jetty,undertow.我們只需要一個(gè)Java的運(yùn)行環(huán)境就可以跑SpringBoot的項(xiàng)目了,SpringBoot的項(xiàng)目可以打成一個(gè)jar包,然后通過(guò)Java??-jar?xxx.jar來(lái)運(yùn)行(SpringBoot項(xiàng)目的入口是一個(gè)main方法,運(yùn)行該方法即可)。
特點(diǎn):
1:創(chuàng)立獨(dú)立的Spring應(yīng)用程序
2:嵌入的Tomcat,無(wú)需部署war文件
3:簡(jiǎn)化Maven配置
4:自動(dòng)配置Spring
5:提供生產(chǎn)就緒功能,如指標(biāo),健康檢查和外部配置
6:絕對(duì)沒(méi)有代碼生成和對(duì)XML沒(méi)有配置要求
2.2. MySQL數(shù)據(jù)庫(kù)介紹?
MySQL?是瑞典的MySQL AB公司開(kāi)發(fā)的一個(gè)可用于各種流行操作系統(tǒng)平臺(tái)的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng),它具有客戶機(jī)/服務(wù)器體系結(jié)構(gòu)的分布式數(shù)據(jù)庫(kù)管理系統(tǒng)。MySQL?完全適用于網(wǎng)絡(luò),用其建造的數(shù)據(jù)庫(kù)可在因特網(wǎng)上的任何地方訪問(wèn),因此,可以和網(wǎng)絡(luò)上任何地方的任何人共享數(shù)據(jù)庫(kù)。MySQL具有功能強(qiáng)、使用簡(jiǎn)單、管理方 便、運(yùn)行速度快、可靠性高、安全保密性強(qiáng)等優(yōu)點(diǎn)。MySQL用C和C++編寫(xiě),它可以工作在許多平臺(tái)(Unix,Linux,Windows)上,提供了 針對(duì)不同編程語(yǔ)言(C,C++,JAVA等)的API函數(shù);使用核心線程實(shí)現(xiàn)多線程,能夠很好的支持多CPU;提供事務(wù)和非事務(wù)的存儲(chǔ)機(jī)制;快速的基于線程的內(nèi)存分配系統(tǒng)。
2.3 JAVA開(kāi)發(fā)語(yǔ)言介紹
Java是由Sun Microsystems公司于1995年5月推出的Java面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言和Java平臺(tái)的總稱。由James Gosling和同事們共同研發(fā),并在1995年正式推出。
Java分為三個(gè)體系:
- JavaSE(J2SE)(Java2 Platform Standard Edition,java平臺(tái)標(biāo)準(zhǔn)版)
- JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平臺(tái)企業(yè)版)
- JavaME(J2ME)(Java 2 Platform Micro Edition,java平臺(tái)微型版)。
2005年6月,JavaOne大會(huì)召開(kāi),SUN公司公開(kāi)Java SE 6。此時(shí),Java的各種版本已經(jīng)更名以取消其中的數(shù)字"2":J2EE更名為Java EE, J2SE更名為Java SE,J2ME更名為Java ME。
- Java語(yǔ)言是簡(jiǎn)單的:
Java語(yǔ)言的語(yǔ)法與C語(yǔ)言和C++語(yǔ)言很接近,使得大多數(shù)程序員很容易學(xué)習(xí)和使用。另一方面,Java丟棄了C++中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動(dòng)的強(qiáng)制類型轉(zhuǎn)換。特別地,Java語(yǔ)言不使用指針,而是引用。并提供了自動(dòng)的廢料收集,使得程序員不必為內(nèi)存管理而擔(dān)憂。
- Java語(yǔ)言是面向?qū)ο蟮?#xff1a;
Java語(yǔ)言提供類、接口和繼承等面向?qū)ο蟮奶匦?#xff0c;為了簡(jiǎn)單起見(jiàn),只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實(shí)現(xiàn)機(jī)制(關(guān)鍵字為implements)。Java語(yǔ)言全面支持動(dòng)態(tài)綁定,而C++語(yǔ)言只對(duì)虛函數(shù)使用動(dòng)態(tài)綁定。總之,Java語(yǔ)言是一個(gè)純的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言。
- Java語(yǔ)言是分布式的:
Java語(yǔ)言支持Internet應(yīng)用的開(kāi)發(fā),在基本的Java應(yīng)用編程接口中有一個(gè)網(wǎng)絡(luò)應(yīng)用編程接口(java net),它提供了用于網(wǎng)絡(luò)應(yīng)用編程的類庫(kù),包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(遠(yuǎn)程方法激活)機(jī)制也是開(kāi)發(fā)分布式應(yīng)用的重要手段。
- Java語(yǔ)言是健壯的:
Java的強(qiáng)類型機(jī)制、異常處理、垃圾的自動(dòng)收集等是Java程序健壯性的重要保證。對(duì)指針的丟棄是Java的明智選擇。Java的安全檢查機(jī)制使得Java更具健壯性。
- Java語(yǔ)言是安全的:
Java通常被用在網(wǎng)絡(luò)環(huán)境中,為此,Java提供了一個(gè)安全機(jī)制以防惡意代碼的攻擊。除了Java語(yǔ)言具有的許多安全特性以外,Java對(duì)通過(guò)網(wǎng)絡(luò)下載的類具有一個(gè)安全防范機(jī)制(類ClassLoader),如分配不同的名字空間以防替代本地的同名類、字節(jié)代碼檢查,并提供安全管理機(jī)制(類SecurityManager)讓Java應(yīng)用設(shè)置安全哨兵。
- Java語(yǔ)言是體系結(jié)構(gòu)中立的:
Java程序(后綴為java的文件)在Java平臺(tái)上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式(后綴為class的文件),然后可以在實(shí)現(xiàn)這個(gè)Java平臺(tái)的任何系統(tǒng)中運(yùn)行。這種途徑適合于異構(gòu)的網(wǎng)絡(luò)環(huán)境和軟件的分發(fā)。
- Java語(yǔ)言是可移植的:
這種可移植性來(lái)源于體系結(jié)構(gòu)中立性,另外,Java還嚴(yán)格規(guī)定了各個(gè)基本數(shù)據(jù)類型的長(zhǎng)度。Java系統(tǒng)本身也具有很強(qiáng)的可移植性,Java編譯器是用Java實(shí)現(xiàn)的,Java的運(yùn)行環(huán)境是用ANSI C實(shí)現(xiàn)的。
- Java語(yǔ)言是解釋型的:
如前所述,Java程序在Java平臺(tái)上被編譯為字節(jié)碼格式,然后可以在實(shí)現(xiàn)這個(gè)Java平臺(tái)的任何系統(tǒng)中運(yùn)行。在運(yùn)行時(shí),Java平臺(tái)中的Java解釋器對(duì)這些字節(jié)碼進(jìn)行解釋執(zhí)行,執(zhí)行過(guò)程中需要的類在聯(lián)接階段被載入到運(yùn)行環(huán)境中。
- Java是高性能的:
與那些解釋型的高級(jí)腳本語(yǔ)言相比,Java的確是高性能的。事實(shí)上,Java的運(yùn)行速度隨著JIT(Just-In-Time)編譯器技術(shù)的發(fā)展越來(lái)越接近于C++。
- Java語(yǔ)言是多線程的:
在Java語(yǔ)言中,線程是一種特殊的對(duì)象,它必須由Thread類或其子(孫)類來(lái)創(chuàng)建。通常有兩種方法來(lái)創(chuàng)建線程:其一,使用型構(gòu)為Thread(Runnable)的構(gòu)造子類將一個(gè)實(shí)現(xiàn)了Runnable接口的對(duì)象包裝成一個(gè)線程,其二,從Thread類派生出子類并重寫(xiě)run方法,使用該子類創(chuàng)建的對(duì)象即為線程。值得注意的是Thread類已經(jīng)實(shí)現(xiàn)了Runnable接口,因此,任何一個(gè)線程均有它的run方法,而run方法中包含了線程所要運(yùn)行的代碼。線程的活動(dòng)由一組方法來(lái)控制。Java語(yǔ)言支持多個(gè)線程的同時(shí)執(zhí)行,并提供多線程之間的同步機(jī)制(關(guān)鍵字為synchronized)。
- Java語(yǔ)言是動(dòng)態(tài)的:
Java語(yǔ)言的設(shè)計(jì)目標(biāo)之一是適應(yīng)于動(dòng)態(tài)變化的環(huán)境。Java程序需要的類能夠動(dòng)態(tài)地被載入到運(yùn)行環(huán)境,也可以通過(guò)網(wǎng)絡(luò)來(lái)載入所需要的類。這也有利于軟件的升級(jí)。另外,Java中的類有一個(gè)運(yùn)行時(shí)刻的表示,能進(jìn)行運(yùn)行時(shí)刻的類型檢查。
2.4. LayUI前端開(kāi)發(fā)框架介紹?
- layui,是一款采用自身模塊規(guī)范編寫(xiě)的前端?UI?框架,遵循原生?HTML/CSS/JS?的書(shū)寫(xiě)與組織形式,門檻極低,拿來(lái)即用。其外在極簡(jiǎn),卻又不失飽滿的內(nèi)在,體積輕盈,組件豐盈,從核心代碼到?API?的每一處細(xì)節(jié)都經(jīng)過(guò)精心雕琢,非常適合界面的快速開(kāi)發(fā)。layui?首個(gè)版本發(fā)布于2016年秋,它區(qū)別于那些基于?MVVM?底層的?UI?框架,卻并非逆道而行,而是信奉返璞歸真之道。準(zhǔn)確地說(shuō),她更多是為服務(wù)端程序員量身定做,你無(wú)需涉足各種前端工具的復(fù)雜配置,只需面對(duì)瀏覽器本身,讓一切你所需要的元素與交互,從這里信手拈來(lái)。?
2.5. JavaScript前端開(kāi)發(fā)技術(shù)介紹
JavaScript是一種基于對(duì)象(Object)和事件驅(qū)動(dòng)(Event Driven)并具有安全性能的腳本語(yǔ)言。它與Java不同:JavaScript主要用于HTML的頁(yè)面,腳本嵌入在HTML的源碼中;而Java是一個(gè)獨(dú)立的、完整的編程語(yǔ)言,既可以在Web中應(yīng)用,也可以用于與Web網(wǎng)無(wú)關(guān)的情況。另外,JavaS cript編寫(xiě)的程序不必在運(yùn)行前編譯,它們可以直接寫(xiě)入Web頁(yè)面中并由調(diào)用它們的瀏覽器來(lái)解釋執(zhí)行。這樣,一些基本交互作用就不用在服務(wù)器端完成,提高了客戶端的響應(yīng)時(shí)間。JavaScript的四個(gè)特點(diǎn)如下:
簡(jiǎn)單性:它是基于java基本語(yǔ)句和控制流之上的簡(jiǎn)單而緊湊的設(shè)計(jì),是學(xué)習(xí)java的好過(guò)渡,而且,它的變量類型是采用弱類型,未采用嚴(yán)格的數(shù)據(jù)類型。
安全性:爪哇腳本(JAVA SCRIPT)不允許訪問(wèn)本地硬盤(pán),不能將數(shù)據(jù)存入到服務(wù)器上,不允許對(duì)網(wǎng)絡(luò)文檔進(jìn)行修改和刪除,只能通過(guò)瀏覽器實(shí)現(xiàn)信息瀏覽或動(dòng)態(tài)交互,從而有效的防止數(shù)據(jù)的丟失。
動(dòng)態(tài)性:javascrpt可以直接對(duì)用戶或客戶輸入做出響應(yīng),無(wú)須經(jīng)過(guò)web程序。它對(duì)用戶的響應(yīng)采用以事件驅(qū)動(dòng)的方式進(jìn)行,即由某種操作動(dòng)作引起相應(yīng)的事件響應(yīng),如:點(diǎn)擊鼠標(biāo)、移動(dòng)窗口、選擇菜單等。
跨平臺(tái)性:javascript依賴于瀏覽器本身,與操作環(huán)境無(wú)關(guān)。只要能運(yùn)行瀏覽器的計(jì)算機(jī),并安裝了支持javascript的瀏覽器就可以正確執(zhí)行,從而實(shí)現(xiàn)了“編寫(xiě)一次,走遍天下”的夢(mèng)想。
2.6. CSS3前端開(kāi)發(fā)技術(shù)介紹
CSS即層疊樣式表(Cascading StyleSheet)。 在網(wǎng)頁(yè)制作時(shí)采用層疊樣式表技術(shù),可以有效地對(duì)頁(yè)面的布局、字體、顏色、背景和其它效果實(shí)現(xiàn)更加精確的控制。?只要對(duì)相應(yīng)的代碼做一些簡(jiǎn)單的修改,就可以改變同一頁(yè)面的不同部分,或者頁(yè)數(shù)不同的網(wǎng)頁(yè)的外觀和格式。CSS3是CSS技術(shù)的升級(jí)版本,CSS3語(yǔ)言開(kāi)發(fā)是朝著模塊化發(fā)展的。以前的規(guī)范作為一個(gè)模塊實(shí)在是太龐大而且比較復(fù)雜,所以,把它分解為一些小的模塊,更多新的模塊也被加入進(jìn)來(lái)。這些模塊包括: 盒子模型、列表模塊、超鏈接方式 、語(yǔ)言模塊 、背景和邊框 、文字特效 、多欄布局等。
使用CSS可以減少開(kāi)發(fā)與維護(hù)成本 提高頁(yè)面性能。
2.7 .HTM5前端開(kāi)發(fā)技術(shù)介紹
HTML5對(duì)于用戶來(lái)說(shuō),提高了用戶體驗(yàn),加強(qiáng)了視覺(jué)感受。HTML5技術(shù)在移動(dòng)端,能夠讓?xiě)?yīng)用程序回歸到網(wǎng)頁(yè),并對(duì)網(wǎng)頁(yè)的功能進(jìn)行擴(kuò)展,用戶不需要下載客戶端或插件就能夠觀看視頻、玩游戲,操作更加簡(jiǎn)單,用戶體驗(yàn)更好。HTML5的視音頻新技術(shù)解決了移動(dòng)端蘋(píng)果和安卓4.0+,對(duì)flash的支持問(wèn)題。在視音頻方面,性能表現(xiàn)比f(wàn)lash要更好。網(wǎng)頁(yè)表現(xiàn)方面,HTML5中的CSS3特效樣式、Canvas、webgl的介入,不僅加強(qiáng)了網(wǎng)頁(yè)的視覺(jué)效果,甚至能夠使用戶在網(wǎng)頁(yè)當(dāng)中看到三維立體特效。
HTML5加強(qiáng)了視覺(jué)體驗(yàn),在視頻音頻方面,性能表現(xiàn)比Flash要更好,網(wǎng)頁(yè)表現(xiàn)方面,HTML5中的CSS3特效樣式、Canvas、webgl的介入,不僅加強(qiáng)了網(wǎng)頁(yè)的視覺(jué)效果,而且還可以讓用戶在網(wǎng)頁(yè)中看到三維立體特效。
收藏
158
52
2.8.shiro(java安全框架)
Apache Shiro是一個(gè)強(qiáng)大且易用的Java安全框架,執(zhí)行身份驗(yàn)證、授權(quán)、密碼和會(huì)話管理。使用Shiro的易于理解的API,您可以快速、輕松地獲得任何應(yīng)用程序,從最小的移動(dòng)應(yīng)用程序到最大的網(wǎng)絡(luò)和企業(yè)應(yīng)用程序。
Java安全框架
主要功能
三個(gè)核心組件:Subject, SecurityManager?和?Realms.
Subject:即“當(dāng)前操作用戶”。但是,在Shiro中,Subject這一概念并不僅僅指人,也可以是第三方進(jìn)程、后臺(tái)帳戶(Daemon Account)或其他類似事物。它僅僅意味著“當(dāng)前跟軟件交互的東西”。
Subject代表了當(dāng)前用戶的安全操作,SecurityManager則管理所有用戶的安全操作。
SecurityManager:它是Shiro框架的核心,典型的Facade模式,Shiro通過(guò)SecurityManager來(lái)管理內(nèi)部組件實(shí)例,并通過(guò)它來(lái)提供安全管理的各種服務(wù)。
Realm:?Realm充當(dāng)了Shiro與應(yīng)用安全數(shù)據(jù)間的“橋梁”或者“連接器”。也就是說(shuō),當(dāng)對(duì)用戶執(zhí)行認(rèn)證(登錄)和授權(quán)(訪問(wèn)控制)驗(yàn)證時(shí),Shiro會(huì)從應(yīng)用配置的Realm中查找用戶及其權(quán)限信息。
從這個(gè)意義上講,Realm實(shí)質(zhì)上是一個(gè)安全相關(guān)的DAO:它封裝了數(shù)據(jù)源的連接細(xì)節(jié),并在需要時(shí)將相關(guān)數(shù)據(jù)提供給Shiro。當(dāng)配置Shiro時(shí),你必須至少指定一個(gè)Realm,用于認(rèn)證和(或)授權(quán)。配置多個(gè)Realm是可以的,但是至少需要一個(gè)。
Shiro內(nèi)置了可以連接大量安全數(shù)據(jù)源(又名目錄)的Realm,如LDAP、關(guān)系數(shù)據(jù)庫(kù)(JDBC)、類似INI的文本配置資源以及屬性文件等。如果缺省的Realm不能滿足需求,你還可以插入代表自定義數(shù)據(jù)源的自己的Realm實(shí)現(xiàn)。
2.9. DRUID 阿里數(shù)據(jù)庫(kù)連接池介紹?
1)可以監(jiān)控?cái)?shù)據(jù)庫(kù)訪問(wèn)性能,Druid內(nèi)置提供了一個(gè)功能強(qiáng)大的StatFilter插件,能夠詳細(xì)統(tǒng)計(jì)SQL的執(zhí)行性能,這對(duì)于線上分析數(shù)據(jù)庫(kù)訪問(wèn)性能有幫助。
2)數(shù)據(jù)庫(kù)密碼加密。直接把數(shù)據(jù)庫(kù)密碼寫(xiě)在配置文件中,這是不好的行為,容易導(dǎo)致安全問(wèn)題。DruidDruiver和DruidDataSource都支持PasswordCallback。
3)SQL執(zhí)行日志,Druid提供了不同的LogFilter,能夠支持Common-Logging、Log4j和JdkLog,你可以按需要選擇相應(yīng)的LogFilter,監(jiān)控你應(yīng)用的數(shù)據(jù)庫(kù)訪問(wèn)情況。
4)擴(kuò)展JDBC,如果你要對(duì)JDBC層有編程的需求,可以通過(guò)Druid提供的Filter機(jī)制,很方便編寫(xiě)JDBC層的擴(kuò)展插件。
統(tǒng)計(jì)量
開(kāi)發(fā)工具: Idea/Eclipse
數(shù)據(jù)庫(kù): mysql
Jar包倉(cāng)庫(kù): Maven
前段框架: vue/ElementUI/echart
后端框架: Spring+SpringMVC+Mybatis+SpringBoot
二.開(kāi)發(fā)目標(biāo)開(kāi)發(fā)環(huán)境及相關(guān)技術(shù)介紹
?
醫(yī)院管理系統(tǒng)的開(kāi)發(fā)目標(biāo)主要包括:
實(shí)現(xiàn)醫(yī)院內(nèi)部的掛號(hào)、收費(fèi)、藥房、藥庫(kù)、科室、病床的信息化管理。提供記錄醫(yī)院內(nèi)部各類經(jīng)營(yíng)決策匯總和明細(xì)的月報(bào)表、年報(bào)表。
記錄用戶住院信息、醫(yī)生信息、科室,藥品,手術(shù),病床信息等。
藥房管理,藥房報(bào)缺.
庫(kù)房管理,入庫(kù)信息及經(jīng)辦人,查詢剩余庫(kù)存,出庫(kù)單,藥房報(bào)缺后,從庫(kù)房調(diào)取。
2.1.Springboot開(kāi)發(fā)構(gòu)架介紹
簡(jiǎn)介:Spring Boot是由Pivotal團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來(lái)簡(jiǎn)化新Spring應(yīng)用的初始搭建以及開(kāi)發(fā)過(guò)程。該框架使用了特定的方式來(lái)進(jìn)行配置,從而使開(kāi)發(fā)人員不再需要定義樣板化的配置。通過(guò)這種方式,Spring Boot致力于在蓬勃發(fā)展的快速應(yīng)用開(kāi)發(fā)領(lǐng)域(rapid application development)成為領(lǐng)導(dǎo)者。
1:使編碼變得簡(jiǎn)單,SpringBoot采用?JavaConfig的方式,對(duì)Spring進(jìn)行配置,并且提供了大量的注解,極大的提高了工作效率。
?
2:使配置變得簡(jiǎn)單,SpringBoot提供許多默認(rèn)配置,當(dāng)然也提供自定義配置,但是所有的SpringBoot的項(xiàng)目都只有一個(gè)配置文件:application.properties/application.yml。用了SpringBoot可以不用擔(dān)心配置出錯(cuò)找不到問(wèn)題所在,我們來(lái)看一下SpringBoot配置的圖片
?
?
?
3:使部署變得簡(jiǎn)單,SpringBoot內(nèi)置了三種Servlet容器,Tomcat,Jetty,undertow.我們只需要一個(gè)Java的運(yùn)行環(huán)境就可以跑SpringBoot的項(xiàng)目了,SpringBoot的項(xiàng)目可以打成一個(gè)jar包,然后通過(guò)Java??-jar?xxx.jar來(lái)運(yùn)行(SpringBoot項(xiàng)目的入口是一個(gè)main方法,運(yùn)行該方法即可)。
?
特點(diǎn):
1:創(chuàng)立獨(dú)立的Spring應(yīng)用程序
2:嵌入的Tomcat,無(wú)需部署war文件
3:簡(jiǎn)化Maven配置
4:自動(dòng)配置Spring
5:提供生產(chǎn)就緒功能,如指標(biāo),健康檢查和外部配置
6:絕對(duì)沒(méi)有代碼生成和對(duì)XML沒(méi)有配置要求
2.2. MySQL數(shù)據(jù)庫(kù)介紹?
MySQL?是瑞典的MySQL AB公司開(kāi)發(fā)的一個(gè)可用于各種流行操作系統(tǒng)平臺(tái)的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng),它具有客戶機(jī)/服務(wù)器體系結(jié)構(gòu)的分布式數(shù)據(jù)庫(kù)管理系統(tǒng)。MySQL?完全適用于網(wǎng)絡(luò),用其建造的數(shù)據(jù)庫(kù)可在因特網(wǎng)上的任何地方訪問(wèn),因此,可以和網(wǎng)絡(luò)上任何地方的任何人共享數(shù)據(jù)庫(kù)。MySQL具有功能強(qiáng)、使用簡(jiǎn)單、管理方 便、運(yùn)行速度快、可靠性高、安全保密性強(qiáng)等優(yōu)點(diǎn)。MySQL用C和C++編寫(xiě),它可以工作在許多平臺(tái)(Unix,Linux,Windows)上,提供了 針對(duì)不同編程語(yǔ)言(C,C++,JAVA等)的API函數(shù);使用核心線程實(shí)現(xiàn)多線程,能夠很好的支持多CPU;提供事務(wù)和非事務(wù)的存儲(chǔ)機(jī)制;快速的基于線程的內(nèi)存分配系統(tǒng)。
?
2.3 JAVA開(kāi)發(fā)語(yǔ)言介紹
Java是由Sun Microsystems公司于1995年5月推出的Java面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言和Java平臺(tái)的總稱。由James Gosling和同事們共同研發(fā),并在1995年正式推出。
Java分為三個(gè)體系:
- JavaSE(J2SE)(Java2 Platform Standard Edition,java平臺(tái)標(biāo)準(zhǔn)版)
- JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平臺(tái)企業(yè)版)
- JavaME(J2ME)(Java 2 Platform Micro Edition,java平臺(tái)微型版)。
2005年6月,JavaOne大會(huì)召開(kāi),SUN公司公開(kāi)Java SE 6。此時(shí),Java的各種版本已經(jīng)更名以取消其中的數(shù)字"2":J2EE更名為Java EE, J2SE更名為Java SE,J2ME更名為Java ME。
?
- Java語(yǔ)言是簡(jiǎn)單的:
Java語(yǔ)言的語(yǔ)法與C語(yǔ)言和C++語(yǔ)言很接近,使得大多數(shù)程序員很容易學(xué)習(xí)和使用。另一方面,Java丟棄了C++中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動(dòng)的強(qiáng)制類型轉(zhuǎn)換。特別地,Java語(yǔ)言不使用指針,而是引用。并提供了自動(dòng)的廢料收集,使得程序員不必為內(nèi)存管理而擔(dān)憂。
- Java語(yǔ)言是面向?qū)ο蟮?#xff1a;
Java語(yǔ)言提供類、接口和繼承等面向?qū)ο蟮奶匦?#xff0c;為了簡(jiǎn)單起見(jiàn),只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實(shí)現(xiàn)機(jī)制(關(guān)鍵字為implements)。Java語(yǔ)言全面支持動(dòng)態(tài)綁定,而C++語(yǔ)言只對(duì)虛函數(shù)使用動(dòng)態(tài)綁定。總之,Java語(yǔ)言是一個(gè)純的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言。
- Java語(yǔ)言是分布式的:
Java語(yǔ)言支持Internet應(yīng)用的開(kāi)發(fā),在基本的Java應(yīng)用編程接口中有一個(gè)網(wǎng)絡(luò)應(yīng)用編程接口(java net),它提供了用于網(wǎng)絡(luò)應(yīng)用編程的類庫(kù),包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(遠(yuǎn)程方法激活)機(jī)制也是開(kāi)發(fā)分布式應(yīng)用的重要手段。
- Java語(yǔ)言是健壯的:
Java的強(qiáng)類型機(jī)制、異常處理、垃圾的自動(dòng)收集等是Java程序健壯性的重要保證。對(duì)指針的丟棄是Java的明智選擇。Java的安全檢查機(jī)制使得Java更具健壯性。
- Java語(yǔ)言是安全的:
Java通常被用在網(wǎng)絡(luò)環(huán)境中,為此,Java提供了一個(gè)安全機(jī)制以防惡意代碼的攻擊。除了Java語(yǔ)言具有的許多安全特性以外,Java對(duì)通過(guò)網(wǎng)絡(luò)下載的類具有一個(gè)安全防范機(jī)制(類ClassLoader),如分配不同的名字空間以防替代本地的同名類、字節(jié)代碼檢查,并提供安全管理機(jī)制(類SecurityManager)讓Java應(yīng)用設(shè)置安全哨兵。
- Java語(yǔ)言是體系結(jié)構(gòu)中立的:
Java程序(后綴為java的文件)在Java平臺(tái)上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式(后綴為class的文件),然后可以在實(shí)現(xiàn)這個(gè)Java平臺(tái)的任何系統(tǒng)中運(yùn)行。這種途徑適合于異構(gòu)的網(wǎng)絡(luò)環(huán)境和軟件的分發(fā)。
- Java語(yǔ)言是可移植的:
這種可移植性來(lái)源于體系結(jié)構(gòu)中立性,另外,Java還嚴(yán)格規(guī)定了各個(gè)基本數(shù)據(jù)類型的長(zhǎng)度。Java系統(tǒng)本身也具有很強(qiáng)的可移植性,Java編譯器是用Java實(shí)現(xiàn)的,Java的運(yùn)行環(huán)境是用ANSI C實(shí)現(xiàn)的。
- Java語(yǔ)言是解釋型的:
如前所述,Java程序在Java平臺(tái)上被編譯為字節(jié)碼格式,然后可以在實(shí)現(xiàn)這個(gè)Java平臺(tái)的任何系統(tǒng)中運(yùn)行。在運(yùn)行時(shí),Java平臺(tái)中的Java解釋器對(duì)這些字節(jié)碼進(jìn)行解釋執(zhí)行,執(zhí)行過(guò)程中需要的類在聯(lián)接階段被載入到運(yùn)行環(huán)境中。
- Java是高性能的:
與那些解釋型的高級(jí)腳本語(yǔ)言相比,Java的確是高性能的。事實(shí)上,Java的運(yùn)行速度隨著JIT(Just-In-Time)編譯器技術(shù)的發(fā)展越來(lái)越接近于C++。
- Java語(yǔ)言是多線程的:
在Java語(yǔ)言中,線程是一種特殊的對(duì)象,它必須由Thread類或其子(孫)類來(lái)創(chuàng)建。通常有兩種方法來(lái)創(chuàng)建線程:其一,使用型構(gòu)為Thread(Runnable)的構(gòu)造子類將一個(gè)實(shí)現(xiàn)了Runnable接口的對(duì)象包裝成一個(gè)線程,其二,從Thread類派生出子類并重寫(xiě)run方法,使用該子類創(chuàng)建的對(duì)象即為線程。值得注意的是Thread類已經(jīng)實(shí)現(xiàn)了Runnable接口,因此,任何一個(gè)線程均有它的run方法,而run方法中包含了線程所要運(yùn)行的代碼。線程的活動(dòng)由一組方法來(lái)控制。Java語(yǔ)言支持多個(gè)線程的同時(shí)執(zhí)行,并提供多線程之間的同步機(jī)制(關(guān)鍵字為synchronized)。
- Java語(yǔ)言是動(dòng)態(tài)的:
Java語(yǔ)言的設(shè)計(jì)目標(biāo)之一是適應(yīng)于動(dòng)態(tài)變化的環(huán)境。Java程序需要的類能夠動(dòng)態(tài)地被載入到運(yùn)行環(huán)境,也可以通過(guò)網(wǎng)絡(luò)來(lái)載入所需要的類。這也有利于軟件的升級(jí)。另外,Java中的類有一個(gè)運(yùn)行時(shí)刻的表示,能進(jìn)行運(yùn)行時(shí)刻的類型檢查。
2.4. LayUI前端開(kāi)發(fā)框架介紹?
?
- layui,是一款采用自身模塊規(guī)范編寫(xiě)的前端?UI?框架,遵循原生?HTML/CSS/JS?的書(shū)寫(xiě)與組織形式,門檻極低,拿來(lái)即用。其外在極簡(jiǎn),卻又不失飽滿的內(nèi)在,體積輕盈,組件豐盈,從核心代碼到?API?的每一處細(xì)節(jié)都經(jīng)過(guò)精心雕琢,非常適合界面的快速開(kāi)發(fā)。layui?首個(gè)版本發(fā)布于2016年秋,它區(qū)別于那些基于?MVVM?底層的?UI?框架,卻并非逆道而行,而是信奉返璞歸真之道。準(zhǔn)確地說(shuō),她更多是為服務(wù)端程序員量身定做,你無(wú)需涉足各種前端工具的復(fù)雜配置,只需面對(duì)瀏覽器本身,讓一切你所需要的元素與交互,從這里信手拈來(lái)。?
2.5. JavaScript前端開(kāi)發(fā)技術(shù)介紹
JavaScript是一種基于對(duì)象(Object)和事件驅(qū)動(dòng)(Event Driven)并具有安全性能的腳本語(yǔ)言。它與Java不同:JavaScript主要用于HTML的頁(yè)面,腳本嵌入在HTML的源碼中;而Java是一個(gè)獨(dú)立的、完整的編程語(yǔ)言,既可以在Web中應(yīng)用,也可以用于與Web網(wǎng)無(wú)關(guān)的情況。另外,JavaS cript編寫(xiě)的程序不必在運(yùn)行前編譯,它們可以直接寫(xiě)入Web頁(yè)面中并由調(diào)用它們的瀏覽器來(lái)解釋執(zhí)行。這樣,一些基本交互作用就不用在服務(wù)器端完成,提高了客戶端的響應(yīng)時(shí)間。JavaScript的四個(gè)特點(diǎn)如下:
簡(jiǎn)單性:它是基于java基本語(yǔ)句和控制流之上的簡(jiǎn)單而緊湊的設(shè)計(jì),是學(xué)習(xí)java的好過(guò)渡,而且,它的變量類型是采用弱類型,未采用嚴(yán)格的數(shù)據(jù)類型。
安全性:爪哇腳本(JAVA SCRIPT)不允許訪問(wèn)本地硬盤(pán),不能將數(shù)據(jù)存入到服務(wù)器上,不允許對(duì)網(wǎng)絡(luò)文檔進(jìn)行修改和刪除,只能通過(guò)瀏覽器實(shí)現(xiàn)信息瀏覽或動(dòng)態(tài)交互,從而有效的防止數(shù)據(jù)的丟失。
動(dòng)態(tài)性:javascrpt可以直接對(duì)用戶或客戶輸入做出響應(yīng),無(wú)須經(jīng)過(guò)web程序。它對(duì)用戶的響應(yīng)采用以事件驅(qū)動(dòng)的方式進(jìn)行,即由某種操作動(dòng)作引起相應(yīng)的事件響應(yīng),如:點(diǎn)擊鼠標(biāo)、移動(dòng)窗口、選擇菜單等。
跨平臺(tái)性:javascript依賴于瀏覽器本身,與操作環(huán)境無(wú)關(guān)。只要能運(yùn)行瀏覽器的計(jì)算機(jī),并安裝了支持javascript的瀏覽器就可以正確執(zhí)行,從而實(shí)現(xiàn)了“編寫(xiě)一次,走遍天下”的夢(mèng)想。
2.6. CSS3前端開(kāi)發(fā)技術(shù)介紹
CSS即層疊樣式表(Cascading StyleSheet)。 在網(wǎng)頁(yè)制作時(shí)采用層疊樣式表技術(shù),可以有效地對(duì)頁(yè)面的布局、字體、顏色、背景和其它效果實(shí)現(xiàn)更加精確的控制。?只要對(duì)相應(yīng)的代碼做一些簡(jiǎn)單的修改,就可以改變同一頁(yè)面的不同部分,或者頁(yè)數(shù)不同的網(wǎng)頁(yè)的外觀和格式。CSS3是CSS技術(shù)的升級(jí)版本,CSS3語(yǔ)言開(kāi)發(fā)是朝著模塊化發(fā)展的。以前的規(guī)范作為一個(gè)模塊實(shí)在是太龐大而且比較復(fù)雜,所以,把它分解為一些小的模塊,更多新的模塊也被加入進(jìn)來(lái)。這些模塊包括: 盒子模型、列表模塊、超鏈接方式 、語(yǔ)言模塊 、背景和邊框 、文字特效 、多欄布局等。
使用CSS可以減少開(kāi)發(fā)與維護(hù)成本 提高頁(yè)面性能。
2.7 .HTM5前端開(kāi)發(fā)技術(shù)介紹
HTML5對(duì)于用戶來(lái)說(shuō),提高了用戶體驗(yàn),加強(qiáng)了視覺(jué)感受。HTML5技術(shù)在移動(dòng)端,能夠讓?xiě)?yīng)用程序回歸到網(wǎng)頁(yè),并對(duì)網(wǎng)頁(yè)的功能進(jìn)行擴(kuò)展,用戶不需要下載客戶端或插件就能夠觀看視頻、玩游戲,操作更加簡(jiǎn)單,用戶體驗(yàn)更好。HTML5的視音頻新技術(shù)解決了移動(dòng)端蘋(píng)果和安卓4.0+,對(duì)flash的支持問(wèn)題。在視音頻方面,性能表現(xiàn)比f(wàn)lash要更好。網(wǎng)頁(yè)表現(xiàn)方面,HTML5中的CSS3特效樣式、Canvas、webgl的介入,不僅加強(qiáng)了網(wǎng)頁(yè)的視覺(jué)效果,甚至能夠使用戶在網(wǎng)頁(yè)當(dāng)中看到三維立體特效。
HTML5加強(qiáng)了視覺(jué)體驗(yàn),在視頻音頻方面,性能表現(xiàn)比Flash要更好,網(wǎng)頁(yè)表現(xiàn)方面,HTML5中的CSS3特效樣式、Canvas、webgl的介入,不僅加強(qiáng)了網(wǎng)頁(yè)的視覺(jué)效果,而且還可以讓用戶在網(wǎng)頁(yè)中看到三維立體特效。
?
收藏
158
52
2.8.shiro(java安全框架)
?
?
?
Apache Shiro是一個(gè)強(qiáng)大且易用的Java安全框架,執(zhí)行身份驗(yàn)證、授權(quán)、密碼和會(huì)話管理。使用Shiro的易于理解的API,您可以快速、輕松地獲得任何應(yīng)用程序,從最小的移動(dòng)應(yīng)用程序到最大的網(wǎng)絡(luò)和企業(yè)應(yīng)用程序。
Java安全框架
主要功能
三個(gè)核心組件:Subject, SecurityManager?和?Realms.
Subject:即“當(dāng)前操作用戶”。但是,在Shiro中,Subject這一概念并不僅僅指人,也可以是第三方進(jìn)程、后臺(tái)帳戶(Daemon Account)或其他類似事物。它僅僅意味著“當(dāng)前跟軟件交互的東西”。
Subject代表了當(dāng)前用戶的安全操作,SecurityManager則管理所有用戶的安全操作。
SecurityManager:它是Shiro框架的核心,典型的Facade模式,Shiro通過(guò)SecurityManager來(lái)管理內(nèi)部組件實(shí)例,并通過(guò)它來(lái)提供安全管理的各種服務(wù)。
Realm:?Realm充當(dāng)了Shiro與應(yīng)用安全數(shù)據(jù)間的“橋梁”或者“連接器”。也就是說(shuō),當(dāng)對(duì)用戶執(zhí)行認(rèn)證(登錄)和授權(quán)(訪問(wèn)控制)驗(yàn)證時(shí),Shiro會(huì)從應(yīng)用配置的Realm中查找用戶及其權(quán)限信息。
從這個(gè)意義上講,Realm實(shí)質(zhì)上是一個(gè)安全相關(guān)的DAO:它封裝了數(shù)據(jù)源的連接細(xì)節(jié),并在需要時(shí)將相關(guān)數(shù)據(jù)提供給Shiro。當(dāng)配置Shiro時(shí),你必須至少指定一個(gè)Realm,用于認(rèn)證和(或)授權(quán)。配置多個(gè)Realm是可以的,但是至少需要一個(gè)。
Shiro內(nèi)置了可以連接大量安全數(shù)據(jù)源(又名目錄)的Realm,如LDAP、關(guān)系數(shù)據(jù)庫(kù)(JDBC)、類似INI的文本配置資源以及屬性文件等。如果缺省的Realm不能滿足需求,你還可以插入代表自定義數(shù)據(jù)源的自己的Realm實(shí)現(xiàn)。
2.9. DRUID 阿里數(shù)據(jù)庫(kù)連接池介紹?
1)可以監(jiān)控?cái)?shù)據(jù)庫(kù)訪問(wèn)性能,Druid內(nèi)置提供了一個(gè)功能強(qiáng)大的StatFilter插件,能夠詳細(xì)統(tǒng)計(jì)SQL的執(zhí)行性能,這對(duì)于線上分析數(shù)據(jù)庫(kù)訪問(wèn)性能有幫助。
2)數(shù)據(jù)庫(kù)密碼加密。直接把數(shù)據(jù)庫(kù)密碼寫(xiě)在配置文件中,這是不好的行為,容易導(dǎo)致安全問(wèn)題。DruidDruiver和DruidDataSource都支持PasswordCallback。
3)SQL執(zhí)行日志,Druid提供了不同的LogFilter,能夠支持Common-Logging、Log4j和JdkLog,你可以按需要選擇相應(yīng)的LogFilter,監(jiān)控你應(yīng)用的數(shù)據(jù)庫(kù)訪問(wèn)情況。
4)擴(kuò)展JDBC,如果你要對(duì)JDBC層有編程的需求,可以通過(guò)Druid提供的Filter機(jī)制,很方便編寫(xiě)JDBC層的擴(kuò)展插件。
統(tǒng)計(jì)量
技術(shù)描述
開(kāi)發(fā)工具: Idea/Eclipse
數(shù)據(jù)庫(kù): mysql
Jar包倉(cāng)庫(kù): Maven
前段框架: vue/ElementUI/echart
后端框架: Spring+SpringMVC+Mybatis+SpringBoot
資料說(shuō)明
目前各醫(yī)療機(jī)構(gòu)中,絕大部分中小型醫(yī)療機(jī)構(gòu)內(nèi)部沒(méi)有實(shí)現(xiàn)任何信息化管理,醫(yī)院臨床信息,業(yè)務(wù)流程的數(shù)據(jù)依然采取紙質(zhì)記錄,造成數(shù)據(jù)容易丟失,對(duì)醫(yī)院造成重大損失。醫(yī)院內(nèi)部的掛號(hào)、收費(fèi)、藥房、藥庫(kù)、科室、病床的信息管理都存在缺漏,對(duì)患者的臨床信息不能做到完整保存,高效查詢,數(shù)據(jù)的容易出錯(cuò)、遺漏,造成換院治病難,醫(yī)院不敢治,錯(cuò)過(guò)最佳治療期等現(xiàn)狀,對(duì)患者的治療造成嚴(yán)重的影響
下載地址
總結(jié)
以上是生活随笔為你收集整理的基于SSM+SpringBoot+MySQL+LayUI的医院信息管理系统(附论文)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【算法竞赛学习笔记】状压DP
- 下一篇: Java项目:医院管理系统(java+S