毕业设计 - 基于SSH的任务调度系统的设计与实现 【源码+论文】

293 篇文章 9 订阅
266 篇文章 18 订阅


前言

今天学长向大家分享一个 Java web 毕业设计项目:

基于SSH的任务调度系统的设计与实现


一、项目设计

1. 模块设计

根据需求调研结果确定本任务调度系统的功能结构,最终系统实现的系统将分为组长和组员两个角色,其中两个角色共有功能包括修改登录密码、项目搜索、项目查看、项目管理、消息管理。组长部分的功能有任务管理、项目组成员管理,组员部分的功能有申请调动功能。
在这里插入图片描述

下面我们要发展的系统设计和基于信息系统的原则,系统模型系统的原则。我们对项目进行应用分层

在这里插入图片描述
1、开放接口层:直接封装Service接口,可以选择暴露成RPC接口;或者通过Web协议封装为http接口;网关控制层等,本项目中不提供此开放层。
2、终端显示层:各类客户端的模板渲染并执行的显示层。目前生产生活中主要是JSP渲染,JS渲染,velocity渲染,移动端展示层等,在本项目中主要变现为JS渲染。
3、Web层:对访问控制进行转发,业务逻辑前的预处理工作,如各类基本参数校验,或者简单业务处理等。
4、Service层:具体的业务逻辑服务层。
5、Manager层:通用业务处理层,包含特征:
1) 封装第三方平台,转化异常信息以及预处理业务和返回结果等;
2)下沉Service层通用能力,比如缓存方案、中间件通用处理;
3) 与DAO层交互,封装DAO的业务通用能力。缓存方案、中间件通用处理;
6、DAO层:数据访问层,与底层各类数据库或缓存方案进行数据交互。
7、外部接口或第三方平台:包括其他公司基础平台,或者RPC接口,也包括其它的HTTP接口,本项目中不依赖该层服务。

2. 实现效果

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

功能较多,学长这里就不一 一展示了

二、部分源码

源码较多,文章篇幅有限,这里就不放上来了,仅展示小部分关键代码

部分代码示例:

applicationContext-common.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans >
	<!-- 启用spring注解支持 -->
	<context:annotation-config />
	<!-- 启动Spring自动扫描功能 -->
    <context:component-scan base-package="com.fcq.schedule.job" />
	<!--配数据源 -->
	<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
		destroy-method="close">
		<property name="driverClass" value="com.mysql.jdbc.Driver" />
		<property name="jdbcUrl"
			value="jdbc:mysql://localhost:3306/generation_design?characterEncoding=utf8&amp;useSSL=true" />
		<property name="user" value="root" />
		<property name="password" value="123456" />
		<property name="maxPoolSize" value="80" />
		<property name="minPoolSize" value="1" />
		<property name="initialPoolSize" value="1" />
		<property name="maxIdleTime" value="20" />
	</bean>
	<!--定义HibernateSessionFactory -->
	<!-- SessionFactory使用的数据源为上面的数据源 -->
	<!-- 指定了Hibernate的映射文件和配置信息 -->
	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
				<prop key="show_sql">true</prop>
				<prop key="hibernate.jdbc.batch_size">20</prop>
				<!-- 自动创建数据表 -->
				<prop key="hibernate.hbm2ddl.auto">update</prop>
			</props>
		</property>
		<!-- 使用配置文件 -->
		<property name="mappingLocations">
			<list>
				<value>classpath:com/fcq/schedule/job/po/*.hbm.xml</value>
			</list>
		</property>
		<!-- Spring自动加载annotatedClass -->
		<!-- <property name="annotatedClasses"> <list> <value>com.jialin.entity.User</value> 
			</list> </property> -->
	</bean>
    <bean id="hibernateTemplate" class="org.springframework.orm.hibernate5.HibernateTemplate">
        <property name="sessionFactory" ref="sessionFactory"></property>
    </bean>
	<!-- 配置事务管理器 (声明式的事务) -->
	<bean id="transactionManager"
		class="org.springframework.orm.hibernate5.HibernateTransactionManager">
		<property name="sessionFactory" ref="sessionFactory" />
	</bean>

	<!-- 配置事务通知属性 -->
	<tx:advice id="txadvice" transaction-manager="transactionManager">
		<!-- 定义事务传播属性 -->
		<tx:attributes>
			<!-- <tx:method name="add*" propagation="REQUIRED" /> <tx:method name="delete*" 
				propagation="REQUIRED" /> <tx:method name="modify*" propagation="REQUIRED" 
				/> hibernate4必须配置为开启事务 否则 getCurrentSession()获取不到 <tx:method name="*" propagation="REQUIRED" 
				read-only="true" /> -->
			<tx:method name="get*" read-only="false" propagation="REQUIRED" />
			<tx:method name="find*" read-only="false" propagation="REQUIRED" />
			<tx:method name="save*" read-only="false" propagation="REQUIRED" />
			<tx:method name="reg*" read-only="false" propagation="REQUIRED" />
			<tx:method name="modify*" read-only="false" propagation="REQUIRED" />
			<tx:method name="remove*" read-only="false" propagation="REQUIRED" />
			<tx:method name="*" propagation="REQUIRED" read-only="true" />
		</tx:attributes>
	</tx:advice>
	<!-- 配置事务切面;那些类那些方法使用事务 -->
	<aop:config>
		<!-- 只对业务逻辑层实施事务 -->
		<aop:pointcut id="allManagerMethod"
			expression="execution(* com.fcq.schedule.job.service..*.*(..))" />
		<aop:advisor pointcut-ref="allManagerMethod" advice-ref="txadvice" />
	</aop:config>
</beans>
applicationContext-beans.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans >
	<!-- Spring管理Struts2的Action -->
	<bean name="registerAction" class="com.fcq.schedule.job.action.RegisterAction"
		scope="prototype">
		<property name="userManager" ref="userManager"></property>
	</bean>
	<bean name="loginAction" class="com.fcq.schedule.job.action.LoginAction"
		scope="prototype">
		<property name="userManager" ref="userManager"></property>
	</bean>
	<bean name="ajaxUserNameVerifyAction" class="com.fcq.schedule.job.action.AjaxUserNameVerifyAction"
		scope="prototype">
		<property name="userManager" ref="userManager"></property>
	</bean>
	<bean name="queryUserOrProjectAction" class="com.fcq.schedule.job.action.QueryUserOrProjectAction"
		scope="prototype">
		<property name="userManager" ref="userManager"></property>
		<property name="projectManager" ref="projectManager"></property>
	</bean>
	<bean name="userMainAction" class="com.opensymphony.xwork2.ActionSupport"
		scope="prototype"></bean>
	<!-- Spring管理Struts2的Interceptor -->
	<!-- <bean name="checkLoginInterceptor" class="com.fcq.schedule.job.interceptor.CheckLogin" 
		scope="prototype"></bean> -->

    <!--用户业务逻辑类 -->
    <bean name="userManager" class="com.fcq.schedule.job.service.impl.UserManagerImpl">
        <property name="userDao" ref="baseDao"></property>
    </bean>
    <bean id="baseDao" class="com.fcq.schedule.job.dao.impl.UserDao">
        <property name="hibernateTemplate" ref="hibernateTemplate" />
    </bean>
    <!-- 项目业务逻辑类 -->
    <bean name="projectManager" class="com.fcq.schedule.job.service.impl.ProjectManagerImpl">
        <property name="projectDao" ref="projectDao"></property>
    </bean>
    <bean id="projectDao" class="com.fcq.schedule.job.dao.impl.ProjectDao">
        <property name="hibernateTemplate" ref="hibernateTemplate" />
    </bean>
    <!-- 任务业务逻辑类 -->
    <bean name="jobManager" class="com.fcq.schedule.job.service.impl.JobManagerImpl">
        <property name="jobDao" ref="jobDao"></property>
    </bean>
    <bean id="jobDao" class="com.fcq.schedule.job.dao.impl.JobDao">
        <property name="hibernateTemplate" ref="hibernateTemplate" />
    </bean>
	<!-- 任务关系业务逻辑类 -->
	<bean id="jobConnectionManager" class="com.fcq.schedule.job.service.impl.JobConnectionManagerImpl">
	   <property name="jobConnectionDao" ref="jobConnectionDao"></property>
	</bean>
	<bean id="jobConnectionDao" class="com.fcq.schedule.job.dao.impl.JobConnectionDao">
		<property name="hibernateTemplate" ref="hibernateTemplate" />
	</bean>
	<!-- 消息业务逻辑类 -->
	<bean id="messageManager" class="com.fcq.schedule.job.service.impl.MessageManagerImpl">
	   <property name="messageDao" ref="messageDao"></property>
	</bean>
	<bean id="messageDao" class="com.fcq.schedule.job.dao.impl.MessageDao">
		<property name="hibernateTemplate" ref="hibernateTemplate" />
	</bean>
</beans>

项目源码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值