zoukankan      html  css  js  c++  java
  • 基于SSM的OA系统

    基于SSM的OA系统:

    -Mybatis、Spring、SpringMVC
    -MySql

    主要技术:

    -SpringIOC
    -Mybatis+Spring整合
    -声明式事务
    -Spring标签库
    -Spring拦截器

    用例分析:

    1.功能模块
    -部门信息管理
    -员工信息管理
    -报销单处理
    2.主要角色
    -员工
    -部门经理
    -总经理
    -财务

    开发流程:

    ![](https://i.loli.net/2019/09/22/ZKcsEMQ2z46Ch8W.png)
    ![](https://i.loli.net/2019/09/22/oQB6Eymk2O8tKlp.png)
    ![](https://i.loli.net/2019/09/22/FQXcfU8d5qRvuLi.png)
    ![](https://i.loli.net/2019/09/22/dn1qxZavoOctX2u.png)
    ![](https://i.loli.net/2019/09/22/ylXdR28JYDn4KAP.png)
    ![](https://i.loli.net/2019/09/22/9MSsujV28YPLAto.png)
    ![](https://i.loli.net/2019/09/22/gD9FS1EcuHTwvOQ.png)
    ![](https://i.loli.net/2019/09/22/v89dWqenIUryVjm.png)
    ![](https://i.loli.net/2019/09/22/2t1G4NhvBEKAeJo.png)
    ![](https://i.loli.net/2019/09/22/hG7sFtiO8rbzpQn.png)
    ![](https://i.loli.net/2019/09/22/uV2716gelYSrfGs.png)
    ![](https://i.loli.net/2019/09/22/1b5hZzgNTHPsVBm.png)
    ![](https://i.loli.net/2019/09/22/ybsYNU2gz6KqEM1.png)
    ![](https://i.loli.net/2019/09/22/wOQrm45IAMt29eg.png)

    以上便是开发过程:
    开发完成之后的代码结构大致是这样的:

    ![](https://i.loli.net/2019/09/22/cBrkhgzH95fZUVe.png)

    其中Biz模块:

    ![](https://i.loli.net/2019/09/22/mxcRwEXB8YWa7hS.png)

    Dao模块:

    ![](https://i.loli.net/2019/09/22/vVQ4okuUPBeRf7L.png)

    Web模块:

    ![](https://i.loli.net/2019/09/22/1LnPRgfYD3cSX8b.png)

    接下来介绍几个文件:

    oa中的pom.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <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.0</modelVersion>
    
        <groupId>com.fitsoft</groupId>
        <artifactId>oa</artifactId>
        <packaging>pom</packaging>
        <version>1.0-SNAPSHOT</version>
    
        <modules>
            <module>oa_dao</module>
            <module>oa_biz</module>
            <module>web</module>
        </modules>
    
    </project>
    

    oa_dao中的pom.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <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>oa</artifactId>
            <groupId>com.fitsoft</groupId>
            <version>1.0-SNAPSHOT</version>
        </parent>
        <modelVersion>4.0.0</modelVersion>
    
        <artifactId>oa_dao</artifactId>
    
        <properties>
            <spring-version>4.0.2.RELEASE</spring-version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>8.0.11</version>
            </dependency>
    
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>3.4.4</version>
            </dependency>
    
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-beans</artifactId>
                <version>${spring-version}</version>
            </dependency>
    
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>${spring-version}</version>
            </dependency>
    
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jdbc</artifactId>
                <version>${spring-version}</version>
            </dependency>
    
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis-spring</artifactId>
                <version>1.3.1</version>
            </dependency>
        </dependencies>
    </project>
    

    oa_biz中的pom.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <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>oa</artifactId>
            <groupId>com.fitsoft</groupId>
            <version>1.0-SNAPSHOT</version>
        </parent>
        <modelVersion>4.0.0</modelVersion>
    
        <artifactId>oa_biz</artifactId>
    
        <properties>
            <spring-version>4.0.2.RELEASE</spring-version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>com.fitsoft</groupId>
                <artifactId>oa_dao</artifactId>
                <version>1.0-SNAPSHOT</version>
            </dependency>
    
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-tx</artifactId>
                <version>${spring-version}</version>
            </dependency>
    
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-aop</artifactId>
                <version>${spring-version}</version>
            </dependency>
    
            <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjweaver</artifactId>
                <version>1.8.0</version>
            </dependency>
        </dependencies>
    </project>
    

    web中的pom.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <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>oa</artifactId>
            <groupId>com.fitsoft</groupId>
            <version>1.0-SNAPSHOT</version>
        </parent>
        <modelVersion>4.0.0</modelVersion>
    
        <artifactId>web</artifactId>
    
        <properties>
            <spring-version>4.0.2.RELEASE</spring-version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>com.fitsoft</groupId>
                <artifactId>oa_dao</artifactId>
                <version>1.0-SNAPSHOT</version>
            </dependency>
            <dependency>
                <groupId>com.fitsoft</groupId>
                <artifactId>oa_biz</artifactId>
                <version>1.0-SNAPSHOT</version>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.11</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>4.0.0</version>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>jstl</artifactId>
                <version>1.2</version>
            </dependency>
    
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-web</artifactId>
                <version>${spring-version}</version>
            </dependency>
    
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>${spring-version}</version>
            </dependency>
        </dependencies>
    </project>
    

    spring-dao.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"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">
    
        <context:component-scan base-package="com.fitsoft.oa.dao"/>
    
        <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
            <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
            <property name="url" value="jdbc:mysql://localhost:3306/oa?useUnicode=true&amp;characterEncoding=utf-8&amp;serverTimezone=Asia/Shanghai"/>
            <property name="username" value="root"/>
            <property name="password" value="joker666"/>
        </bean>
    
        <!-- 数据源 -->
        <bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
            <property name="dataSource" ref="dataSource"/>
            <property name="typeAliasesPackage" value="com.fitsoft.oa.entity"/>
        </bean>
    
        <!-- 映射扫描配置 -->
        <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
            <property name="sqlSessionFactoryBeanName" value="sessionFactory"/>
            <property name="basePackage" value="com.fitsoft.oa.dao"/>
        </bean>
    </beans>
    

    spring-biz.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:aop="http://www.springframework.org/schema/aop"
           xmlns:tx="http://www.springframework.org/schema/tx"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.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">
    
        <!-- 关联 -->
        <import resource="spring-dao.xml"/>
    
        <context:component-scan base-package="com.fitsoft.oa.biz"/>
        <aop:aspectj-autoproxy/>
    
        <!-- 事务管理器 -->
        <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
            <property name="dataSource" ref="dataSource"/>
        </bean>
    
        <!-- 声明通知 -->
        <tx:advice id="txAdvice" transaction-manager="transactionManager">
            <tx:attributes>
                <tx:method name="get*" read-only="true"/>
                <tx:method name="find*" read-only="true"/>
                <tx:method name="search*" read-only="true"/>
                <tx:method name="*" propagation="REQUIRED"/>
            </tx:attributes>
        </tx:advice>
    
        <!-- 关联通知和切入点 -->
        <aop:config>
            <!-- 所有参数 -->
            <aop:pointcut id="txpc" expression="execution(* com.fitsoft.oa.biz.*.*(..))"/>
            <aop:advisor advice-ref="txAdvice" pointcut-ref="txpc"/>
        </aop:config>
    </beans>
    

    spring-web.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: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/context
        http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd">
    
        <import resource="spring-biz.xml"/>
    
        <context:component-scan base-package="com.fitsoft.oa.controller"/>
        <mvc:annotation-driven/>
    
        <mvc:default-servlet-handler/>
    
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
            <property name="prefix" value="/WEB-INF/pages/"/>
            <property name="suffix" value=".jsp"/>
        </bean>
    
        <mvc:interceptors>
            <mvc:interceptor>
                <mvc:mapping path="/**"/>
                <bean class="com.fitsoft.oa.global.LoginInterceptor"/>
            </mvc:interceptor>
        </mvc:interceptors>
    
    </beans>
    

    这里是项目的地址:
    https://www.lanzous.com/i6c5jkh
    亲测运行OK,另需要此教程的话可以加我QQ,在右侧公告栏,免费。

  • 相关阅读:
    移动端适配方案总结
    排序算法
    使用onchange依赖监控文件修改失效
    实现一个可拖拽的div
    在vue中实现两个输入框内容的同步及转换
    简易loading动画的制作
    了解MVC
    Spring Boot使用模板引擎总结
    在配置好log4j后信息log还是在Console中输出
    运行时报java.sql.SQLException: No suitable driver的几种解决办法
  • 原文地址:https://www.cnblogs.com/zqm-sau/p/11569641.html
Copyright © 2011-2022 走看看