進銷存系統(tǒng)設(shè)計和框架搭建_第1頁
進銷存系統(tǒng)設(shè)計和框架搭建_第2頁
進銷存系統(tǒng)設(shè)計和框架搭建_第3頁
進銷存系統(tǒng)設(shè)計和框架搭建_第4頁
進銷存系統(tǒng)設(shè)計和框架搭建_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

企業(yè)SaaS云應用開發(fā)2知識目標系統(tǒng)分析和設(shè)計搭建SSM開發(fā)框架01能力目標了解企業(yè)進銷存系統(tǒng)業(yè)務知識掌握系統(tǒng)色即的方法了解JavaWeb三個開發(fā)框架02學習目標3目錄01系統(tǒng)分析和設(shè)計02搭建SSM開發(fā)框架03項目總結(jié)分析系統(tǒng)需求4SaaS企業(yè)進銷存管理系統(tǒng)是一個以JavaWeb為核心開發(fā)技術(shù)的應用系統(tǒng),該Web應用實現(xiàn)企業(yè)進銷存的租戶管理、貨物采購、銷售、庫存管理、訂單管理等功能,完整闡述一個企業(yè)整個的運營過程,包括JavaWeb框架編程開發(fā)、數(shù)據(jù)可視化技術(shù)以及云平臺搭建和部署等重要內(nèi)容。分析系統(tǒng)功能5

企業(yè)SaaS進銷存管理系統(tǒng)包括包含3類用戶角色:SaaS服務提供商企業(yè)管理員(后續(xù)簡稱商戶管理員)、SaaS服務使用商企業(yè)管理員(后續(xù)簡稱租戶管理員)、SaaS服務使用商企業(yè)普通用戶(后續(xù)簡稱租戶用戶),不同用戶的功能如表5-1所示。系統(tǒng)名稱用戶一級功能二級功能企業(yè)SaaS進銷存管理系統(tǒng)商戶管理員系統(tǒng)登陸系統(tǒng)登陸租戶管理租戶信息服務管理服務設(shè)置價格策略租戶管理員租戶注冊創(chuàng)建租戶系統(tǒng)登陸

租戶個人信息租戶信息查看租戶信息修改服務訂閱服務查看我的服務用戶配置用戶管理角色管理租戶用戶系統(tǒng)登陸系統(tǒng)登陸采購管理

銷售管理

庫存管理

設(shè)計原型界面6分析了用戶的功能結(jié)構(gòu)后,就可以對項目進行界面設(shè)計了,本項目的主要操作界面,如管理員登錄界面、進銷存一體化管理員主頁、用戶登錄界面和進銷存一體化用戶主頁如圖5-1至圖5-4所示。圖5-1管理員登陸界面圖5-2進銷存一體化管理員主頁設(shè)計原型界面7圖5-3用戶登陸界面圖5-4進銷存一體化用戶主頁制定技術(shù)架構(gòu)8本項目采用的是MVC三層架構(gòu)模式,架構(gòu)設(shè)計如下:三層架構(gòu)是指:視圖層view,服務層service,持久層Dao,它們的功能是:1.view層:用來接收用戶請求的代碼,比如請求如何分發(fā);2.service層:系統(tǒng)的業(yè)務邏輯主要寫在這里,比如借書系統(tǒng)會有借書的業(yè)務;3.Dao層:直接操作數(shù)據(jù)庫的代碼,之所以分Dao層,主要是可能相同的sql語句可能使用在比較多的地方,改動的時候可以理解為只改動一處即可。為了降低耦合度,在這里,使用面向抽象編程,也就是上層對下層的調(diào)用,直接通過接口來完成,下層對上層的真正服務提供者,是下層實現(xiàn)的接口實現(xiàn)類,實現(xiàn)類是可以更換的,這就實現(xiàn)了層間的解耦合。架構(gòu)圖如圖5-5所示。圖5-5企業(yè)SaaS進銷存系統(tǒng)項目的整體技術(shù)架構(gòu)制定技術(shù)架構(gòu)9SSM,即SpringMVC,Spring與Mybatis的統(tǒng)稱。1.SpringMVC:作為view的實現(xiàn)者,完成客戶請求的接受功能,它的controller作為整個應用的控制器,完成用戶請求的轉(zhuǎn)發(fā)和對用戶的響應。2.Mybatis:作為Dao的實現(xiàn)者,完成數(shù)據(jù)庫的增傷改查等功能。3.Spring:是整個應用的大管家,整個應用中所有的bean的生命周期行為,都是由Spring來管理的,就是說整個應用中所有的對象的創(chuàng)建,初始化,銷毀,以及對象之間關(guān)聯(lián)的關(guān)系維護,都是由Spring來進行管理。如下圖5-6所示圖5-6SSM實現(xiàn)MVC架構(gòu)圖框架介紹10SSM框架是由SpringMVC、Spring、Mybatis三大框架組成。(1)SpringMVCSpringMVC屬于SpringFrameWork的后續(xù)產(chǎn)品,已經(jīng)融合在SpringWebFlow里面。Spring框架提供了構(gòu)建Web應用程序的全功能MVC模塊。使用Spring可插入的MVC架構(gòu),在使用Spring進行WEB開發(fā)時,能夠選擇使用Spring的SpringMVC框架或集成其他MVC開發(fā)框架,如Struts1(現(xiàn)在一般不用)、Struts2等。(2)SpringSpring是一個開放源代碼的設(shè)計層面框架,它解決的是業(yè)務邏輯層和其他各層的松耦合問題,因此它將面向接口的編程思想貫穿整個系統(tǒng)應用。Spring是于2003年興起的一個輕量級的Java開發(fā)框架,由RodJohnson創(chuàng)建。簡單來說,Spring是一個分層的JavaSE/EE

full-stack(一站式)輕量級開源框架。(3)MybatisMyBatis是一款優(yōu)秀的持久層框架,它支持定制化SQL、存儲過程以及高級映射。MyBatis避免了幾乎所有JDBC代碼、手動設(shè)置參數(shù)以及獲取結(jié)果集的情況。MyBatis可以使用簡單的XML或注解來配置和映射原生信息,將接口和Java的POJOs(PlainOldJavaObjects,普通的Java對象)映射成數(shù)據(jù)庫中的記錄??蚣芙榻B114)SSM框架集SSM(Spring+SpringMVC+MyBatis)框架集由Spring、SpringMVC、MyBatis這3個開源框架整合而成,常作為數(shù)據(jù)源較簡單的web項目的框架。SSM框架執(zhí)行流程如圖5-7所示.圖5-7SSM框架執(zhí)行流程創(chuàng)建系統(tǒng)工程12①參考任務4.5相關(guān)內(nèi)容新建一個Maven工程,選擇MavenProject,并設(shè)置好項目保存的目錄。②根據(jù)向?qū)?,在ArtifactID選擇maven-archetype-webapp,單擊“Next”按鈕,如圖5-8所示。圖5-8ArtifactID選擇創(chuàng)建系統(tǒng)工程13③在ArtifactID文本框中輸入“pss”,作為工程名稱,如圖5-9所示,最后單擊“Finish”按鈕,完成創(chuàng)建,工程目錄結(jié)構(gòu)如圖5-10所示。圖5-9設(shè)定工程名稱創(chuàng)建系統(tǒng)工程14圖5-10工程目錄結(jié)構(gòu)Maven引入SSM框架搭建需要的JAR包15在pom.xml中引入JAR包,代碼如下。<projectxmlns="/POM/4.0.0"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/POM/4.0.0/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>PSS</groupId><artifactId>PSS</artifactId><packaging>war</packaging><version>0.0.1-SNAPSHOT</version><name>PSS</name><url></url><properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <org.springframework.version>3.2.6.RELEASE</org.springframework.version> </properties><dependencies> <!--整合Spring框架--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${org.springframework.version}</version> </dependency>

Maven引入SSM框架搭建需要的JAR包16<dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>${org.springframework.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${org.springframework.version}</version> <type>jar</type> <scope>test</scope> </dependency><dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.7.2</version> </dependency><!--spring與Mybatis框架整合--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.2</version>

Maven引入SSM框架搭建需要的JAR包17</dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.2.0</version> </dependency> <!--c3p0數(shù)據(jù)庫連接池--> <dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId> <version></version> </dependency> <!--Oracle、mysql數(shù)據(jù)庫驅(qū)動--> <dependency> <groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId> <version>5.1.36</version> </dependency><!--log4j日志配置--> <dependency> <groupId>org.slf4j</groupId>

Maven引入SSM框架搭建需要的JAR包18<artifactId>slf4j-api</artifactId> <version>1.7.12</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.12</version> </dependency><!--POI--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.13</version> </dependency> <!--使用XSSF時添加,對高版本的支持--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.13</version> </dependency> <!--jfreechart--> <dependency>

Maven引入SSM框架搭建需要的JAR包19在pom.xml中引入JAR包,代碼如下。<groupId>jfree</groupId> <artifactId>jfreechart</artifactId> <version>1.0.13</version> </dependency><!--Junit--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.9</version> <scope>test</scope> </dependency><!--commons組件配置--><dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.2.2</version></dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.0.1</version> </dependency> <!--JSTL配置-->Maven引入SSM框架搭建需要的JAR包20<dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version></dependency><!--Servlet配置--> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.2</version> <scope>provided</scope> </dependency> </dependencies> <build> <!--項目打包名稱--> <finalName>saas-pss</finalName> <plugins>

Maven引入SSM框架搭建需要的JAR包21<!--指定JDK1.7--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.0</version> <configuration> <source>1.7</source> <target>1.7</target> <encoding>UTF-8</encoding> <verbal>true</verbal> </configuration> </plugin> </plugins> </build></project>

框架整合22這次整合分了3個配置文件,分別是beans.xml(包含Spring和Mybatis的配置文件)、SpringMVC的配置文件springmvc-servlet.xml,以及Mybatis的映射文件sqlMapConfig.xml文件,此外有2個資源文件,分別是pertis和perties。完整目錄結(jié)構(gòu)如圖5-11所示。

圖5-11目錄結(jié)構(gòu)框架整合23①配置SpringMVC相關(guān)文件springmvc-servlet.xml<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:mvc="/schema/mvc"xmlns:context="/schema/context"xmlns:aop="/schema/aop"xmlns:tx="/schema/tx"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-3.0.xsd/schema/mvc/schema/mvc/spring-mvc-3.0.xsd/schema/context/schema/context/spring-context-3.0.xsd/schema/aop/schema/aop/spring-aop-3.0.xsd/schema/tx/schema/tx/spring-tx-3.0.xsd"> <!--1.掃描Controller--> <!--核心模塊--> <context:component-scanbase-package="com.cetc55.pss.core.controller"/><!--基礎(chǔ)信息模塊--> <context:component-scanbase-package="com.cetc55.pss.baseinfo.controller"/> <!--業(yè)務管理模塊--> <context:component-scanbase-package="com.cetc55.pss.cargo.controller"/> <!--系統(tǒng)管理模塊--> <context:component-scanbase-package="com.cetc55.pss.sysadmin.controller"/><!--租戶模塊--> <context:component-scanbase-package="com.cetc55.pss.multiTenant.controller"/><!--2.內(nèi)部資源視圖解析器--> <beanid="jspViewResolver"class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <propertyname="prefix"value="/WEB-INF/pages"/> <propertyname="suffix"value=""/> </bean></beans>框架整合24②Spring和Mybatis的配置文件beans.xml內(nèi)容如下。<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="/schema/beans" xmlns:xsi="/2001/XMLSchema-instance"xmlns:mvc="/schema/mvc" xmlns:context="/schema/context" xmlns:aop="/schema/aop"xmlns:tx="/schema/tx"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-3.0.xsd/schema/mvc/schema/mvc/spring-mvc-3.0.xsd/schema/context/schema/context/spring-context-3.0.xsd/schema/aop/schema/aop/spring-aop-3.0.xsd/schema/tx/schema/tx/spring-tx-3.0.xsd"> <!--1.加載數(shù)據(jù)庫配置屬性文件--> <context:property-placeholderlocation="classpath:perties"/><!--2.包掃描dao、service--> <!--核心模塊--><context:component-scanbase-package="com.cetc55.pss.core.dao,com.cetc55.pss.core.service"/> <!--基礎(chǔ)信息模塊--> <context:component-scanbase-package="com.cetc55.pss.baseinfo.dao,com.cetc55.pss.baseinfo.service"/><!--業(yè)務管理模塊--> <context:component-scanbase-package="com.cetc55.pss.cargo.dao,com.cetc55.pss.cargo.service"/> <!--系統(tǒng)管理模塊--> <context:component-scanbase-package="com.cetc55.pss.sysadmin.dao,com.cetc55.pss.sysadmin.service"/> <!--租戶模塊--> <context:component-scanbase-package="com.cetc55.pss.multiTenant.dao,com.cetc55.pss.multiTenant.service"/><!--3.數(shù)據(jù)源dataSource--> <beanid="dataSource"class="com.mchange.v2.c3p0.ComboPooledDataSource"> <propertyname="driverClass"value="${jdbc.driverClassName}"/> <propertyname="jdbcUrl"value="${jdbc.url}"/> <propertyname="user"value="${jdbc.username}"/> <propertyname="password"value="${jdbc.password}"/> <propertyname="initialPoolSize"value="${c3p0.pool.initialPoolSize}"/> <propertyname="maxPoolSize"value="${c3p0.pool.maxPoolSize}"/> <propertyname="minPoolSize"value="${c3p0.pool.minPoolSize}"/> <propertyname="acquireIncrement"value="${c3p0.pool.acquireIncrement}"/> </bean><!--4.配置sqlSessionFactory--> <beanid="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean"> <propertyname="dataSource"ref="dataSource"/> <!--整合Mybatis--> <!--掃描配置文件--> <propertyname="configLocation"value="classpath:sqlMapConfig.xml"/> <!--掃描Mapper--> <propertyname="mapperLocations"value="classpath:com/cetc55/pss/*/mapper/*.xml"/> </bean><!--5.事務聲明--> <beanid="txManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <propertyname="dataSource"ref="dataSource"/> </bean><!--6.事務通知--> <tx:adviceid="txAdvice"transaction-manager="txManager"> <tx:attributes> <tx:methodname="insert*"propagation="REQUIRED"/> <tx:methodname="update*"propagation="REQUIRED"/> <tx:methodname="delete*"propagation="REQUIRED"/> <tx:methodname="save*"propagation="REQUIRED"/> <tx:methodname="find*"read-only="true"/> <tx:methodname="get*"read-only="true"/> <tx:methodname="view*"read-only="true"/> </tx:attributes> </tx:advice><!--事務切面--> <aop:config> <aop:pointcutexpression="execution(*com.cetc55.pss.*.service.*.*(..))"id="txPointcut"/> <aop:advisoradvice-ref="txAdvice"pointcut-ref="txPointcut"/> </aop:config></beans>框架整合25③Mybatis的映射文件sqlMapConfig.xml文件內(nèi)容如下。<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEconfiguration PUBLIC"-////DTDConfig3.0//EN" "/dtd/mybatis-3-config.dtd"><configuration> <typeAliases> <packagename="com.cetc55.pss.baseinfo.po"/> <packagename="com.cetc55.pss.cargo.po"/> <packagename="com.cetc55.pss.cargo.vo"/> <packagename="com.cetc55.pss.sysadmin.po"/> <packagename="com.cetc55.pss.sysadmin.vo"/> <packagename="com.cetc55.pss.multiTenant.po"/> <packagename="com.cetc55.pss.multiTenant.vo"/> </typeAliases> <!--注冊分頁攔截器--> <plugins> <plugininterceptor="com.cetc55.pss.core.pargination.PageInterceptor"> <propertyname="databaseType"value="mysql"/> </plugin> </plugins></configuration>框架整合26④Log4j的配置。Log4j是Apache的一個開放源代碼項目,通過使用Log4j,可以控制日志信息輸送的目的地是控制臺、文件、GUI組件,甚至是套接口服務器、NT的事件記錄器、UNIXSyslog守護進程等。Log4j也可以控制每一條日志的輸出格式,并且通過定義每一條日志信息的級別,開發(fā)人員能夠更加細致地控制日志的生成過程。具體配置內(nèi)容請參看教材內(nèi)容??蚣苷?7⑤數(shù)據(jù)庫配置文件,perties文件內(nèi)容如下。jdbc.drive

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論