医疗管理系统-项目概述和环境搭建

目录

  • 1. 项目概述
    • 1.1 项目介绍
    • 1.2 原型展示
    • 1.3 技术架构
    • 1.4 功能架构
    • 1.5 软件开发流程
  • 2. 环境搭建
    • 2.1 项目结构
    • 2.2 maven项目搭建
      • 2.2.1 health_parent
      • 2.2.2 health_common(通用模块)
      • 2.2.5 health_interface(服务接口)
      • 2.2.6 health_service_provider(服务提供方)
      • 2.2.7 health_backend(后台系统)
  • 3. Power Designer
  • 4. ElementUI常用组件的使用
    • 4.1 ElementUI介绍
    • 4.2 常用组件
      • 4.2.1 Container 布局容器
      • 4.2.2 Dropdown 下拉菜单
      • 4.2.3 NavMenu 导航菜单
      • 4.2.4 Table 表格
      • 4.2.5 Pagination 分页
      • 4.2.6 Message 消息提示
      • 4.2.7 Tabs 标签页
      • 4.2.8 Form 表单

1. 项目概述

1.1 项目介绍

传智健康管理系统是一款应用于健康管理机构的业务系统,实现健康管理机构工作内容可视化、会员管理专业化、健康评估数字化、健康干预流程化、知识库集成化,从而提高健康管理师的工作效率,加强与会员间的互动,增强管理者对健康管理机构运营情况的了解。

1.2 原型展示

医疗管理系统-项目概述和环境搭建_第1张图片

1.3 技术架构

1.4 功能架构

1.5 软件开发流程

软件开发一般会经历如下几个阶段,整个过程是顺序展开,所以通常称为瀑布模型。
医疗管理系统-项目概述和环境搭建_第2张图片

2. 环境搭建

2.1 项目结构

本项目采用maven分模块开发方式,即对整个项目拆分为几个maven工程,每个maven工程存放特定
的一类代码,具体如下:


各模块职责定位:

  • health_parent:父工程,打包方式为pom,统一锁定依赖的版本,同时聚合其他子模块便于统一执行 maven命令
  • health_common:通用模块,打包方式为jar,存放项目中使用到的一些工具类、实体类、返回结果和 常量类
  • health_interface:打包方式为jar,存放服务接口
  • health_service_provider:Dubbo服务模块,打包方式为war,存放服务实现类、Dao接口、Mapper
    映射文件等,作为服务提供方,需要部署到tomcat运行
  • health_backend:传智健康管理后台,打包方式为war,作为Dubbo服务消费方,存放Controller、
    HTML页面、js、css、spring配置文件等,需要部署到tomcat运行
  • health_mobile:移动端前台,打包方式为war,作为Dubbo服务消费方,存放Controller、HTML页
    面、js、css、spring配置文件等,需要部署到tomcat运行

2.2 maven项目搭建

医疗管理系统-项目概述和环境搭建_第3张图片
通过前面的项目功能架构图可以知道本项目分为XX健康管理后台和传智健康前台(微信端)

2.2.1 health_parent

创建health_parent,父工程,打包方式为pom,用于统一管理依赖版本 pom.xml


<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
         http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0modelVersion>
    <groupId>com.itheiheiheigroupId>
    <artifactId>health_parentartifactId>
    <version>1.0-SNAPSHOTversion>
    <packaging>pompackaging>
    
    <properties>
        <junit.version>4.12junit.version>
        <spring.version>5.0.5.RELEASEspring.version>
        <pagehelper.version>4.1.4pagehelper.version>
        <servlet-api.version>2.5servlet-api.version>
        <dubbo.version>2.6.0dubbo.version>
        <zookeeper.version>3.4.7zookeeper.version>
        <zkclient.version>0.1zkclient.version>
        <mybatis.version>3.4.5mybatis.version>
        <mybatis.spring.version>1.3.1mybatis.spring.version>
        <mybatis.paginator.version>1.2.15mybatis.paginator.version>
        <mysql.version>5.1.32mysql.version>
        <druid.version>1.0.9druid.version>
        <commons-fileupload.version>1.3.1commons-fileupload.version>
        <spring.security.version>5.0.5.RELEASEspring.security.version>
        <poi.version>3.14poi.version>
        <jedis.version>2.9.0jedis.version>
        <quartz.version>2.2.1quartz.version>
    properties>
    
    <dependencyManagement>
        <dependencies>
            
            <dependency>
                <groupId>org.springframeworkgroupId>
                <artifactId>spring-contextartifactId>
                <version>${spring.version}version>
            dependency>
            <dependency>
                <groupId>org.springframeworkgroupId>
                <artifactId>spring-beansartifactId>
                <version>${spring.version}version>
            dependency>
            <dependency>
                <groupId>org.springframeworkgroupId>
                <artifactId>spring-webartifactId>
                <version>${spring.version}version>
            dependency>
            <dependency>
                <groupId>org.springframeworkgroupId>
                <artifactId>spring-webmvcartifactId>
                <version>${spring.version}version>
            dependency>
            <dependency>
                <groupId>org.springframeworkgroupId>
                <artifactId>spring-jdbcartifactId>
                <version>${spring.version}version>
            dependency>
            <dependency>
                <groupId>org.springframeworkgroupId>
                <artifactId>spring-aspectsartifactId>
                <version>${spring.version}version>
            dependency>
            <dependency>
                <groupId>org.springframeworkgroupId>
                <artifactId>spring-jmsartifactId>
                <version>${spring.version}version>
            dependency>
            <dependency>
                <groupId>org.springframeworkgroupId>
                <artifactId>spring-context-supportartifactId>
                <version>${spring.version}version>
            dependency>
            <dependency>
                <groupId>org.springframeworkgroupId>
                <artifactId>spring-testartifactId>
                <version>${spring.version}version>
            dependency>
            
            <dependency>
                <groupId>com.alibabagroupId>
                <artifactId>dubboartifactId>
                <version>${dubbo.version}version>
            dependency>
            <dependency>
                <groupId>org.apache.zookeepergroupId>
                <artifactId>zookeeperartifactId>
                <version>${zookeeper.version}version>
            dependency>
            <dependency>
                <groupId>com.github.sgroschupfgroupId>
                <artifactId>zkclientartifactId>
                <version>${zkclient.version}version>
            dependency>
            <dependency>
                <groupId>junitgroupId>
                <artifactId>junitartifactId>
                <version>4.12version>
            dependency>
            <dependency>
                <groupId>com.alibabagroupId>
                <artifactId>fastjsonartifactId>
                <version>1.2.47version>
            dependency>
            <dependency>
                <groupId>javassistgroupId>
                <artifactId>javassistartifactId>
                <version>3.12.1.GAversion>
            dependency>
            <dependency>
                <groupId>commons-codecgroupId>
                <artifactId>commons-codecartifactId>
                <version>1.10version>
            dependency>
            <dependency>
                <groupId>com.github.pagehelpergroupId>
                <artifactId>pagehelperartifactId>
                <version>${pagehelper.version}version>
            dependency>
            
            <dependency>
                <groupId>org.mybatisgroupId>
                <artifactId>mybatisartifactId>
                <version>${mybatis.version}version>
            dependency>
            <dependency>
                <groupId>org.mybatisgroupId>
                <artifactId>mybatis-springartifactId>
                <version>${mybatis.spring.version}version>
            dependency>
            <dependency>
                <groupId>com.github.miemiedevgroupId>
                <artifactId>mybatis-paginatorartifactId>
                <version>${mybatis.paginator.version}version>
            dependency>
            
            <dependency>
                <groupId>mysqlgroupId>
                <artifactId>mysql-connector-javaartifactId>
                <version>${mysql.version}version>
            dependency>
            
            <dependency>
                <groupId>com.alibabagroupId>
                <artifactId>druidartifactId>
                <version>${druid.version}version>
            dependency>
            
            <dependency>
                <groupId>commons-fileuploadgroupId>
                <artifactId>commons-fileuploadartifactId>
                <version>${commons-fileupload.version}version>
            dependency>
            <dependency>
                <groupId>org.quartz-schedulergroupId>
                <artifactId>quartzartifactId>
                <version>${quartz.version}version>
            dependency>
            <dependency>
                <groupId>org.quartz-schedulergroupId>
                <artifactId>quartz-jobsartifactId>
                <version>${quartz.version}version>

            dependency>
            <dependency>
                <groupId>com.sun.jerseygroupId>
                <artifactId>jersey-clientartifactId>
                <version>1.18.1version>
            dependency>
            <dependency>
                <groupId>com.qiniugroupId>
                <artifactId>qiniu-java-sdkartifactId>
                <version>7.2.0version>
            dependency>
            
            <dependency>
                <groupId>org.apache.poigroupId>
                <artifactId>poiartifactId>
                <version>${poi.version}version>
            dependency>
            <dependency>
                <groupId>org.apache.poigroupId>
                <artifactId>poi-ooxmlartifactId>
                <version>${poi.version}version>
            dependency>
            <dependency>
                <groupId>redis.clientsgroupId>
                <artifactId>jedisartifactId>
                <version>${jedis.version}version>
            dependency>
            
            <dependency>
                <groupId>org.springframework.securitygroupId>
                <artifactId>spring-security-webartifactId>
                <version>${spring.security.version}version>
            dependency>
            <dependency>
                <groupId>org.springframework.securitygroupId>
                <artifactId>spring-security-configartifactId>
                <version>${spring.security.version}version>
            dependency>
            <dependency>
                <groupId>org.springframework.securitygroupId>
                <artifactId>spring-security-taglibsartifactId>

                <version>${spring.security.version}version>
            dependency>
            <dependency>
                <groupId>com.github.pengglegroupId>
                <artifactId>kaptchaartifactId>
                <version>2.3.2version>
                <exclusions>
                    <exclusion>
                        <groupId>javax.servletgroupId>
                        <artifactId>javax.servlet-apiartifactId>
                    exclusion>
                exclusions>
            dependency>
            <dependency>
                <groupId>dom4jgroupId>
                <artifactId>dom4jartifactId>
                <version>1.6.1version>
            dependency>
            <dependency>
                <groupId>xml-apisgroupId>
                <artifactId>xml-apisartifactId>
                <version>1.4.01version>
            dependency>
        dependencies>
    dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>javax.servletgroupId>
            <artifactId>servlet-apiartifactId>
            <version>${servlet-api.version}version>
            <scope>providedscope>
        dependency>
    dependencies>
    <build>
        <plugins>
            
            <plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-compiler-pluginartifactId>
                <version>3.2version>
            plugin>
        plugins>
    build>
project>

2.2.2 health_common(通用模块)

创建health_common,子工程,打包方式为jar,存放通用组件,例如工具类、实体类等 pom.xml


<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0modelVersion>

    <parent>   
        <artifactId>health_parentartifactId>    
        <groupId>com.itheiheiheigroupId>    
        <version>1.0-SNAPSHOTversion>
    parent>

    <modelVersion>4.0.0modelVersion>
    <artifactId>health_commonartifactId>
    <packaging>jarpackaging>

    <dependencies>
        <dependency>
            <groupId>com.github.pagehelpergroupId>
            <artifactId>pagehelperartifactId>
        dependency>
        
        <dependency>
            <groupId>org.mybatisgroupId>
            <artifactId>mybatisartifactId>
        dependency>

        <dependency>
            <groupId>org.mybatisgroupId>
            <artifactId>mybatis-springartifactId>
        dependency>

        <dependency>
            <groupId>com.github.miemiedevgroupId>
            <artifactId>mybatis-paginatorartifactId>
        dependency>
        
        <dependency>
            <groupId>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>
        dependency>
        
        <dependency>
            <groupId>com.alibabagroupId>
            <artifactId>druidartifactId>
        dependency>
        <dependency>
            <groupId>commons-fileuploadgroupId>
            <artifactId>commons-fileuploadartifactId>
        dependency>
        
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-contextartifactId>
        dependency>
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-beansartifactId>
        dependency>
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-webartifactId>
        dependency>
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-webmvcartifactId>
        dependency>
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-jdbcartifactId>
        dependency>
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-aspectsartifactId>
        dependency>
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-jmsartifactId>
        dependency>
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-context-supportartifactId>
        dependency>
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-testartifactId>
        dependency>
        
        <dependency>
            <groupId>com.alibabagroupId>
            <artifactId>dubboartifactId>
        dependency>
        <dependency>
            <groupId>org.apache.zookeepergroupId>
            <artifactId>zookeeperartifactId>
        dependency>
        <dependency>
            <groupId>com.github.sgroschupfgroupId>
            <artifactId>zkclientartifactId>
        dependency>
        <dependency>
            <groupId>junitgroupId>
            <artifactId>junitartifactId>
        dependency>
        <dependency>
            <groupId>com.alibabagroupId>
            <artifactId>fastjsonartifactId>
        dependency>
        <dependency>
            <groupId>javassistgroupId>
            <artifactId>javassistartifactId>
        dependency>
        <dependency>
            <groupId>commons-codecgroupId>
            <artifactId>commons-codecartifactId>
        dependency>
        <dependency>
            <groupId>org.apache.poigroupId>
            <artifactId>poiartifactId>
        dependency>
        <dependency>
            <groupId>redis.clientsgroupId>
            <artifactId>jedisartifactId>
        dependency>
        <dependency>
            <groupId>com.qiniugroupId>
            <artifactId>qiniu-java-sdkartifactId>
        dependency>
        <dependency>
            <groupId>com.sun.jerseygroupId>
            <artifactId>jersey-clientartifactId>
        dependency>
        <dependency>
            <groupId>org.apache.poigroupId>
            <artifactId>poi-ooxmlartifactId>
        dependency>
        <dependency>
            <groupId>org.springframework.securitygroupId>
            <artifactId>spring-security-webartifactId>
        dependency>
        <dependency>
            <groupId>org.springframework.securitygroupId>
            <artifactId>spring-security-configartifactId>
        dependency>
        <dependency>
            <groupId>org.springframework.securitygroupId>
            <artifactId>spring-security-taglibsartifactId>
        dependency>
    dependencies>
project>

2.2.5 health_interface(服务接口)

创建health_interface,子工程,打包方式为jar,存放服务接口
pom.xml


<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
       <artifactId>health_parentartifactId>
       <groupId>com.itheiheiheigroupId>
       <version>1.0-SNAPSHOTversion>
   parent>
   <modelVersion>4.0.0modelVersion>
   <artifactId>health_interfaceartifactId>
   <packaging>jarpackaging>
   <dependencies>
       <dependency>
           <groupId>com.itheiheiheigroupId>
           <artifactId>health_commonartifactId>
           <version>1.0-SNAPSHOTversion>
       dependency>
   dependencies>
project>

2.2.6 health_service_provider(服务提供方)

创建health_service_provider,子工程,打包方式为war,作为服务单独部署,存放服务类、Dao接口和Mapper映射文件等

  • pom.xml
  
  <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  
      <parent>
          <groupId>com.itheiheiheigroupId>
          <artifactId>health_parentartifactId>
          <version>1.0-SNAPSHOTversion>
      parent>
          <modelVersion>4.0.0modelVersion>
          <artifactId>health_service_providerartifactId>
          <packaging>warpackaging>
      <dependencies>
          <dependency>
              <groupId>com.itheiheiheigroupId>
              <artifactId>health_interfaceartifactId>
              <version>1.0-SNAPSHOTversion>
          dependency>
      dependencies>
      <build>
          <plugins>
              <plugin>
                  <groupId>org.apache.tomcat.mavengroupId>
                  <artifactId>
                      tomcat7-maven-plugin
                  artifactId>
                  <configuration>
                      <port>81port>
                      
                      <path>/path>
                  configuration>
              plugin>
          plugins>
      build>
  project>
  • log4j.properties
  ### direct log messages to stdout ###
  log4j.appender.stdout=org.apache.log4j.ConsoleAppender
  log4j.appender.stdout.Target=System.err
  log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
  log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L‐ %m%n
  
  ### direct messages to file mylog.log ###
  log4j.appender.file=org.apache.log4j.FileAppender
  log4j.appender.file.File=c:\\mylog.log
  log4j.appender.file.layout=org.apache.log4j.PatternLayout
  log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L ‐%m%n
  
  ### set log levels ‐ for more verbose logging change 'info' to 'debug'###
  
  log4j.rootLogger=debug, stdout
  • SqlMapConfig.xml
  
  
  <configuration>
      <plugins>
          
          <plugin interceptor="com.github.pagehelper.PageHelper">
              
              <property name="dialect" value="mysql"/>
          plugin>
      plugins>
  configuration>
  • spring-dao.xml
  
  <beans xmlns="http://www.springframework.org/schema/beans"
         xmlns:context="http://www.springframework.org/schema/context"
         xmlns:p="http://www.springframework.org/schema/p"
         xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://www.springframework.org/schema/beans
                              http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
                              http://www.springframework.org/schema/context
                              http://www.springframework.org/schema/context/spring-context.xsd
                              http://www.springframework.org/schema/aop
                              http://www.springframework.org/schema/aop/spring-aop.xsd
                              http://www.springframework.org/schema/tx
                              http://www.springframework.org/schema/tx/spring-tx.xsd
                              http://www.springframework.org/schema/util
                              http://www.springframework.org/schema/util/spring-util.xsd">
      
      <bean id="dataSource"
            class="com.alibaba.druid.pool.DruidDataSource" destroymethod="close">
          <property name="username" value="root"/>
          <property name="password" value="root"/>
          <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
          <property name="url" value="jdbc:mysql://localhost:3306/health"/>
      bean>
      
      <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
          <property name="dataSource" ref="dataSource"/>
          <property name="configLocation" value="classpath:SqlMapConfig.xml"/>
      bean>
      
      <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
          
          <property name="basePackage" value="com.itheiheihei.dao"/>
      bean>
  beans>
  • spring-tx.xml
  
  <beans xmlns="http://www.springframework.org/schema/beans"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns:context="http://www.springframework.org/schema/context"
         xmlns:tx="http://www.springframework.org/schema/tx"
         xmlns:mvc="http://www.springframework.org/schema/mvc"
         xsi:schemaLocation="http://www.springframework.org/schema/beans
  http://www.springframework.org/schema/beans/spring-beans.xsd
  http://www.springframework.org/schema/mvc
  http://www.springframework.org/schema/mvc/spring-mvc.xsd
  http://www.springframework.org/schema/tx
  http://www.springframework.org/schema/tx/spring-tx.xsd
  http://www.springframework.org/schema/context
  http://www.springframework.org/schema/context/spring-context.xsd">
      
      <bean id="transactionManager"
            class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
          <property name="dataSource" ref="dataSource"/>
      bean>
      
      <tx:annotation-driven transaction-manager="transactionManager"
                            proxy-target-class="true"/>
  beans>
  • spring-service.xml
  
  <beans xmlns="http://www.springframework.org/schema/beans"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns:context="http://www.springframework.org/schema/context"
         xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
         xmlns:mvc="http://www.springframework.org/schema/mvc"
         xsi:schemaLocation="http://www.springframework.org/schema/beans
  http://www.springframework.org/schema/beans/spring-beans.xsd
  http://www.springframework.org/schema/mvc
  http://www.springframework.org/schema/mvc/spring-mvc.xsd
  http://code.alibabatech.com/schema/dubbo
  http://code.alibabatech.com/schema/dubbo/dubbo.xsd
  http://www.springframework.org/schema/context
  http://www.springframework.org/schema/context/spring-context.xsd">
      
      <dubbo:application name="health_service_provider"/>
      
      <dubbo:protocol name="dubbo" port="20887"/>
      
      <dubbo:registry address="zookeeper://127.0.0.1:2181"/>
      
      <dubbo:annotation package="com.itheiheihei.service"/>
  beans>
  • web.xml

    
    <web-app>
        <display-name>Archetype Created Web Applicationdisplay-name>
        
        <context-param>
            <param-name>contextConfigLocationparam-name>
            <param-value>classpath*:applicationContext*.xmlparam-value>
        context-param>
        <listener>
            <listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>
        listener>
    web-app>
    1234567891011121314
    

2.2.7 health_backend(后台系统)

创建health_backend,子工程,打包方式为war,单独部署,存放Controller、页面等

  • pom.xml

    
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
    http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <parent>
            <artifactId>health_parentartifactId>
            <groupId>com.itheiheiheigroupId>
            <version>1.0-SNAPSHOTversion>
        parent>
        <modelVersion>4.0.0modelVersion>
        <artifactId>health_backendartifactId>
        <packaging>warpackaging>
        <dependencies>
            <dependency>
                <groupId>com.itheiheiheigroupId>
                <artifactId>health_interfaceartifactId>
                <version>1.0-SNAPSHOTversion>
            dependency>
        dependencies>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.tomcat.mavengroupId>
                    <artifactId>tomcat7-maven-pluginartifactId>
                    <configuration>
                        
                        <port>82port>
                        
                        <path>/path>
                    configuration>
                plugin>
            plugins>
        build>
    project>
    
  • log4j.properties

    ### direct log messages to stdout ###
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.Target=System.err
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L
    ‐ %m%n
    ### direct messages to file mylog.log ###
    log4j.appender.file=org.apache.log4j.FileAppender
    log4j.appender.file.File=c:\\mylog.log
    log4j.appender.file.layout=org.apache.log4j.PatternLayout
    log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L ‐
    %m%n
    ### set log levels ‐ for more verbose logging change 'info' to 'debug'
    ###
    log4j.rootLogger=info, stdout
    123456789101112131415
    
  • springmvc.xml

    
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:context="http://www.springframework.org/schema/context"
           xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
           xmlns:mvc="http://www.springframework.org/schema/mvc"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/mvc
            http://www.springframework.org/schema/mvc/spring-mvc.xsd
            http://code.alibabatech.com/schema/dubbo
            http://code.alibabatech.com/schema/dubbo/dubbo.xsd
            http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context.xsd">
        <mvc:annotation-driven>
            <mvc:message-converters register-defaults="true">
                <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
                    <property name="supportedMediaTypes" value="application/json"/>
                    <property name="features">
                        <list>
                            <value>WriteMapNullValuevalue>
                            <value>WriteDateUseDateFormatvalue>
                        list>
                    property>
                bean>
            mvc:message-converters>
        mvc:annotation-driven>
        
        <dubbo:application name="health_backend"/>
        
        <dubbo:registry address="zookeeper://127.0.0.1:2181"/>
        
        <dubbo:annotation package="com.itheiheihei.controller"/>
        
        <dubbo:consumer timeout="600000" check="false"/>
        
        <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
            <property name="maxUploadSize" value="104857600"/>
            <property name="maxInMemorySize" value="4096"/>
            <property name="defaultEncoding" value="UTF-8"/>
        bean>
    beans>
    
  • web.xml

    
    <web-app>
        <display-name>Archetype Created Web Applicationdisplay-name>
        
        <filter>
            <filter-name>CharacterEncodingFilterfilter-name>
            <filter-class>org.springframework.web.filter.CharacterEncodingFilterfilter-class>
            <init-param>
                <param-name>encodingparam-name>
                <param-value>utf-8param-value>
            init-param>
            <init-param>
                <param-name>forceEncodingparam-name>
                <param-value>trueparam-value>
            init-param>
        filter>
        <filter-mapping>
            <filter-name>CharacterEncodingFilterfilter-name>
            <url-pattern>/*url-pattern>
        filter-mapping>
        <servlet>
            <servlet-name>springmvcservlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
            
            <init-param>
                <param-name>contextConfigLocationparam-name>
                <param-value>classpath:springmvc.xmlparam-value>
            init-param>
            <load-on-startup>1load-on-startup>
        servlet>
        <servlet-mapping>
            <servlet-name>springmvcservlet-name>
            <url-pattern>*.dourl-pattern>
        servlet-mapping>
    web-app>
    

3. Power Designer

就是打开pdm文件看看,Power Designer这个软件又老又难用,PDMan真香。
医疗管理系统-项目概述和环境搭建_第4张图片

4. ElementUI常用组件的使用

4.1 ElementUI介绍

ElementUI是一套基于VUE2.0的桌面端组件库,ElementUI提供了丰富的组件帮助开发人员快速构建功能强大、风格统一的页面。

官网地址:http://element-cn.eleme.io/#/zh-CN

传智健康项目后台系统就是使用ElementUI来构建页面,在页面上引入 js 和 css 文件即可开始使用,如下:


<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
<script src="https://unpkg.com/vue/dist/vue.js">script>

<script src="https://unpkg.com/element-ui/lib/index.js">script>

4.2 常用组件

4.2.1 Container 布局容器

用于布局的容器组件,方便快速搭建页面的基本结构:

:外层容器。当子元素中包含 时,全部子元素会垂直上下排列,否则会水平左右排列

:顶栏容器

:侧边栏容器

:主要区域容器

:底栏容器

<body>
  <div id="app">
    <el-container>
      <el-header>Headerel-header>
      <el-container>
        <el-aside width="200px">Asideel-aside>
        <el-container>
          <el-main>Mainel-main>
          <el-footer>Footerel-footer>
        el-container>
      el-container>
    el-container>
  div>
  <style>
    .el-header, .el-footer {
      background-color: #B3C0D1;
      color: #333;
      text-align: left;
      line-height: 60px;
    }

    .el-aside {
      background-color: #D3DCE6;
      color: #333;
      text-align: center;
      line-height: 200px;
    }

    .el-main {
      background-color: #E9EEF3;
      color: #333;
      text-align: center;
      line-height: 590px;
    }
  style>
body>
<script>
  new Vue({
    el:'#app'
  });
script>

4.2.2 Dropdown 下拉菜单

将动作或菜单折叠到下拉菜单中

<el-dropdown split-button size="small" trigger="click">
  个人中心
  <el-dropdown-menu>
    <el-dropdown-item >退出系统el-dropdown-item>
    <el-dropdown-item divided>修改密码el-dropdown-item>
    <el-dropdown-item divided>联系管理员el-dropdown-item>
  el-dropdown-menu>
el-dropdown>

4.2.3 NavMenu 导航菜单

为网站提供导航功能的菜单。

<el-menu>
  <el-submenu index="1">
    <template slot="title">
      <i class="el-icon-location">i>
      <span slot="title">导航一span>
    template>
    <el-menu-item>选项1el-menu-item>
    <el-menu-item>选项2el-menu-item>
    <el-menu-item>选项3el-menu-item>
  el-submenu>
  <el-submenu index="2">
    <template slot="title">
      <i class="el-icon-menu">i>
      <span slot="title">导航二span>
    template>
    <el-menu-item>选项1el-menu-item>
    <el-menu-item>选项2el-menu-item>
    <el-menu-item>选项3el-menu-item>
  el-submenu>
el-menu>

4.2.4 Table 表格

用于展示多条结构类似的数据,可对数据进行排序、筛选、对比或其他自定义操作。

<el-table :data="tableData" stripe>
  <el-table-column prop="date" label="日期">el-table-column>
  <el-table-column prop="name" label="姓名">el-table-column>
  <el-table-column prop="address" label="地址">el-table-column>
  <el-table-column label="操作" align="center">
    
    <template slot-scope="scope">
      <el-button type="primary" size="mini" @click="handleUpdate(scope.row)">编辑el-button>
      <el-button type="danger" size="mini"  @click="handleDelete(scope.row)">删除el-button>
    template>
  el-table-column>
el-table>
<script>
  new Vue({
    el:'#app',
    data:{
      tableData: [{
        date: '2016-05-02',
        name: '王小虎',
        address: '上海市普陀区金沙江路 1518 弄'
      }, {
        date: '2016-05-04',
        name: '王小虎',
        address: '上海市普陀区金沙江路 1517 弄'
      }, {
        date: '2016-05-01',
        name: '王小虎',
        address: '上海市普陀区金沙江路 1519 弄'
      }]
    },
    methods:{
      handleUpdate(row){
        alert(row.date);
      },
      handleDelete(row){
        alert(row.date);
      }
    }
  });
script>

4.2.5 Pagination 分页

当数据量过多时,使用分页分解数据。


<el-pagination
               @current-change="handleCurrentChange"
               current-page="5"
               page-size="10"
               layout="total, prev, pager, next, jumper"
               :total="305">
el-pagination>
<script>
  new Vue({
    el:'#app',
    methods:{
      handleCurrentChange(page){
        alert(page);
      }
    }
  });
script>

4.2.6 Message 消息提示

常用于主动操作后的反馈提示。

<el-button :plain="true" @click="open1">消息el-button>
<el-button :plain="true" @click="open2">成功el-button>
<el-button :plain="true" @click="open3">警告el-button>
<el-button :plain="true" @click="open4">错误el-button>
<script>
  new Vue({
    el: '#app',
    methods: {
      open1() {
        this.$message('这是一条消息提示');
      },
      open2() {
        this.$message({
          message: '恭喜你,这是一条成功消息',
          type: 'success'
        });
      },
      open3() {
        this.$message({
          message: '警告哦,这是一条警告消息',
          type: 'warning'
        });
      },
      open4() {
        this.$message.error('错了哦,这是一条错误消息');
      }
    }
  })
script>

4.2.7 Tabs 标签页

分隔内容上有关联但属于不同类别的数据集合。

<h3>基础的、简洁的标签页h3>

<el-tabs value="first">
  <el-tab-pane label="用户管理" name="first">用户管理el-tab-pane>
  <el-tab-pane label="配置管理" name="second">配置管理el-tab-pane>
  <el-tab-pane label="角色管理" name="third">角色管理el-tab-pane>
  <el-tab-pane label="定时任务补偿" name="fourth">定时任务补偿el-tab-pane>
el-tabs>
<h3>选项卡样式的标签页h3>
<el-tabs value="first" type="card">
  <el-tab-pane label="用户管理" name="first">用户管理el-tab-pane>
  <el-tab-pane label="配置管理" name="second">配置管理el-tab-pane>
  <el-tab-pane label="角色管理" name="third">角色管理el-tab-pane>
  <el-tab-pane label="定时任务补偿" name="fourth">定时任务补偿el-tab-pane>
el-tabs>
<h3>卡片化的标签页h3>
<el-tabs value="first" type="border-card">
  <el-tab-pane label="用户管理" name="first">用户管理el-tab-pane>
  <el-tab-pane label="配置管理" name="second">配置管理el-tab-pane>
  <el-tab-pane label="角色管理" name="third">角色管理el-tab-pane>
  <el-tab-pane label="定时任务补偿" name="fourth">定时任务补偿el-tab-pane>
el-tabs>
<script>
  new Vue({
    el: '#app'
  })
script>

4.2.8 Form 表单

由输入框、选择器、单选框、多选框等控件组成,用以收集、校验、提交数据。在 Form 组件中,每一个表单域由一个 Form-Item 组件构成,表单域中可以放置各种类型的表单控件,包括 Input、Select、Checkbox、Radio、Switch、DatePicker、TimePicker。


<el-form ref="form" :model="form" :rules="rules" label-width="80px">
  
  <el-form-item label="活动名称" prop="name">
    <el-input v-model="form.name">el-input>
  el-form-item>
  <el-form-item label="活动区域" prop="region">
    <el-select v-model="form.region" placeholder="请选择活动区域">
      <el-option label="区域一" value="shanghai">el-option>
      <el-option label="区域二" value="beijing">el-option>
    el-select>
  el-form-item>
  <el-form-item label="活动时间">
    <el-col :span="11">
      <el-date-picker type="date" placeholder="选择日期" v-model="form.date1" style="width: 100%;">el-date-picker>
    el-col>
    <el-col class="line" :span="2">-el-col>
    <el-col :span="11">
      <el-time-picker type="fixed-time" placeholder="选择时间" v-model="form.date2" style="width: 100%;">el-time-picker>
    el-col>
  el-form-item>
  <el-form-item label="即时配送">
    <el-switch v-model="form.delivery">el-switch>
  el-form-item>
  <el-form-item label="活动性质">
    <el-checkbox-group v-model="form.type">
      <el-checkbox label="美食/餐厅线上活动" name="type">el-checkbox>
      <el-checkbox label="地推活动" name="type">el-checkbox>
      <el-checkbox label="线下主题活动" name="type">el-checkbox>
      <el-checkbox label="单纯品牌曝光" name="type">el-checkbox>
    el-checkbox-group>
  el-form-item>
  <el-form-item label="特殊资源">
    <el-radio-group v-model="form.resource">
      <el-radio label="线上品牌商赞助">el-radio>
      <el-radio label="线下场地免费">el-radio>
    el-radio-group>
  el-form-item>
  <el-form-item label="活动形式">
    <el-input type="textarea" v-model="form.desc">el-input>
  el-form-item>
  <el-form-item>
    <el-button type="primary" @click="onSubmit">立即创建el-button>
  el-form-item>
el-form>
<script>
  new Vue({
    el: '#app',
    data:{
      form: {
        name: '',
        region: '',
        date1: '',
        date2: '',
        delivery: false,
        type: [],
        resource: '',
        desc: ''
      },
      //定义校验规则
      rules: {
        name: [
          { required: true, message: '请输入活动名称', trigger: 'blur' },
          { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
        ],
        region: [
          { required: true, message: '请选择活动区域', trigger: 'change' }
        ]
      }
    },
    methods:{
      onSubmit() {
        console.log(this.form);
        //validate:对整个表单进行校验的方法,参数为一个回调函数。
        //该回调函数会在校验结束后被调用,并传入两个参数:是否校验成功和未通过校验的字段。
        this.$refs['form'].validate((valid) => {
          if (valid) {
            alert('submit!');
          } else {
            console.log('error submit!!');
            return false;
          }
        });
      }
        
    }
  })
script>
<el-dialog title="表单" :visible.sync="displayFormVisible"> el-dialog>

你可能感兴趣的:(ssmtrain)