自己做的毕设和大家分享一下,东西很烂,主要是为了记录自己的成长,不喜勿喷。
# 技术栈
前端:HTML、CSS、JS、BootStrap
后端:Spring,SpringMVC,Mybatis,SpringBoot
数据库:MySQL,Druid连接池
其他:Maven、Thymeleaf
# 简介
此系统是基于Java EE的校园新闻平台。在后端方面选择以Spring Boot 为主整合Spring、Spring MVC和MyBatis的结构,实现了后台对整个系统的全方位管理,包括普通用户的注册、登录,新闻资讯信息的编辑、修改与发布,以及管理员对新闻资讯信息监管、完善与审核等一系列操作。在数据库方面选择MySQL作为数据库,使用MyBatis + Druid简化多源数据库的配置以及数据库操作。在前台方面,为了Web页面的展示的更加充分,采用基于HTML5+CSS3技术的Bootstrap框架和SpringBoot推荐的Thymeleaf模板引擎,使得Web开发更加方便快捷,实现了普通用户的注册、登录界面,以及快速浏览、功能分类、信息交互等功能。
# 环境搭建
第一步:新建Spring项目
选择Spring initialize,点击Next,输入公司名+项目名生成包名,点击Next,添加依赖,连续点击Next即可。
![](https://upload-images.jianshu.io/upload_images/21656169-c742a3abb899f9d6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](https://upload-images.jianshu.io/upload_images/21656169-fdb4f72901ce12f8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
第二步:导入额外依赖
```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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- 版本仲裁-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<!-- 项目信息-->
<groupId>com.tyust</groupId>
<artifactId>testdemo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>testdemo</name>
<description>Demo project for Spring Boot</description>
<!-- JDK版本-->
<properties>
<!-- 编码信息-->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<!--切换thymeleaf版本-->
<thymeleaf.version>3.0.11.RELEASE</thymeleaf.version>
<!-- 布局功能的支持程序 thymeleaf3主程序 layout2以上版本 -->
<!-- thymeleaf2 layout1-->
<thymeleaf-layout-dialect.version>2.4.1</thymeleaf-layout-dialect.version>
</properties>
<dependencies>
<!--web 模块的快速开发-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--thymeleaf默认 2.1.6版本-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<!--jquery-->
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
<version>3.3.1</version>
</dependency>
<!--bootstrap-->
<dependency>
<groupId>org.webjars</groupId>
<artifactId>bootstrap</artifactId>
<version>4.0.0</version>
</dependency>
<!-- jdbc启动器-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!-- mybatis-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!--引入druid-->
<!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.8</version>
</dependency>
<dependency>
<groupId>net.minidev</groupId>
<artifactId>json-smart</artifactId>
<version>2.2.1</version>
</dependency>
<!--test-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<!-- 这个插件,可以将应用打包成一个可执行的jar包-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
```
第三步:配置数据库连接池
```yaml
spring:
datasource:
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/newsplatform?characterEncoding=utf-8&serverTimezone=GMT%2B8
type: com.alibaba.druid.pool.DruidDataSource
# 数据源其他配置
initialSize: 5
minIdle: 5
maxActive: 20
maxWait: 60000
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
poolPreparedStatements: true
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
filters: stat,wall,log4j2
maxPoolPreparedStatementPerConnectionSize: 20
useGlobalDataSourceStat: true
connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
```
第四步:整合MyBatis
首先使用MyBatis的逆向工程生成相应的Mappar,注意实体类的命名规则,要和数据库一一对应。
在配置文件中配置MyBatis
```YAML
mybatis:
# 指定全局配置文件位置
config-location: classpath:mybatis/mybatis-config.xml
# 指定sql映射文件位置
mapper-locations: classpath:mybatis/mapper/*.xml
```
在Mapper类上面加@Repository注解
在主类上面加@MapperScan(value = "xxx")注解,xxx是mapper的包名
第五步:其他配置
```properties
//环境路径
server.servlet.context-path=/schoolnews
spring.mvc.hiddenmethod.filter.enabled=true
//时间格式
spring.mvc.date-format=yyyy-MM-dd
//国际化消息
spring.messages.basename=i18n.message.login,i18n.message.signup
//thymeleaf缓存,热部署
spring.thymeleaf.cache=false
```
# 功能
1. 主页
2. 登录以及注册
3. 普通用户对新闻咨询的编辑、发布和删除
4. 普通用户对新闻资讯的浏览以及点赞
5. 普通用户对新闻资讯的按分类浏览
6. 普通用户对个人信息的更改
7. 管理员对新闻的审核发布和撤销取消发布
# 展示
1. 主页
![](https://upload-images.jianshu.io/upload_images/21656169-3bde83bf897132f3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
使用BootStrap的框架,有左边栏和上边栏,主页大部分是文字,有一个轮播图是使用JS实现的。
左边栏和上边栏:bar.html和baradmin.html。处理的不是很好,代码复用性不高,有普
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
毕业设计,校园新闻系统,使用SpringBoot、SpringMVC、Mybatis、Bootstrap.zip (166个子文件)
bootstrap.min.css 141KB
dashboard.css 2KB
signin.css 906B
.gitignore 38B
.gitignore 32B
bar.html 12KB
signup.html 7KB
dashboardadmin.html 6KB
listadmin.html 5KB
list.html 5KB
userinfoadmin.html 5KB
dashboard.html 5KB
userinfo.html 5KB
baradmin.html 4KB
update.html 4KB
add.html 4KB
newsdetail.html 4KB
newsdetailadmin.html 4KB
allnewsadmin.html 3KB
allnewseducation.html 3KB
allnewsamusement.html 3KB
allnewssociety.html 3KB
allnewshot.html 3KB
allnewsgame.html 3KB
allnewspe.html 3KB
allnews.html 3KB
login.html 2KB
newsplatform.iml 11KB
NewsExample.java 26KB
UserInfoExample.java 19KB
UserExample.java 11KB
NewsController.java 8KB
NewsServiceImpl.java 5KB
LoginController.java 3KB
News.java 3KB
MyMvcConfig.java 2KB
DruidConfig.java 2KB
UserInfoController.java 2KB
UserInfo.java 2KB
LoginServiceImpl.java 1KB
LoginHandlerInterceptor.java 1KB
UserServiceImpl.java 1KB
NewsService.java 968B
UserInfoMapper.java 949B
UserMapper.java 887B
NewsMapper.java 885B
MyLocaleResolver.java 802B
User.java 641B
LoginService.java 460B
NewsplatformApplication.java 439B
UserService.java 230B
NewsplatformApplicationTests.java 228B
TUST3.JPG 735KB
TUST1.JPG 533KB
TUST2.JPG 420KB
Chart.min.js 154KB
feather.min.js 92KB
jquery-3.2.1.slim.min.js 68KB
bootstrap.min.js 48KB
popper.min.js 19KB
README.md 16KB
signup.properties 226B
signup_zh_CN.properties 226B
application.properties 211B
signup_en_US.properties 183B
login.properties 173B
login_zh_CN.properties 173B
login_en_US.properties 139B
bootstrap-solid.svg 1KB
NewsMapper.xml 11KB
uiDesigner.xml 9KB
UserInfoMapper.xml 8KB
UserMapper.xml 6KB
pom.xml 4KB
compiler.xml 807B
resourceBundles.xml 793B
Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_2_6_RELEASE.xml 757B
Maven__org_springframework_boot_spring_boot_starter_validation_2_2_6_RELEASE.xml 757B
Maven__org_springframework_boot_spring_boot_starter_thymeleaf_2_2_6_RELEASE.xml 750B
Maven__org_springframework_boot_spring_boot_starter_logging_2_2_6_RELEASE.xml 736B
Maven__org_springframework_boot_spring_boot_starter_tomcat_2_2_6_RELEASE.xml 729B
Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_10_3.xml 724B
Maven__org_springframework_boot_spring_boot_autoconfigure_2_2_6_RELEASE.xml 722B
Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_1_3_1.xml 718B
Maven__org_springframework_boot_spring_boot_starter_jdbc_2_2_6_RELEASE.xml 715B
Maven__org_springframework_boot_spring_boot_starter_json_2_2_6_RELEASE.xml 715B
Maven__org_springframework_boot_spring_boot_starter_test_2_2_6_RELEASE.xml 715B
Maven__org_thymeleaf_extras_thymeleaf_extras_java8time_3_0_4_RELEASE.xml 713B
Maven__org_springframework_boot_spring_boot_starter_web_2_2_6_RELEASE.xml 708B
Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml 688B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_10_3.xml 683B
Maven__org_springframework_boot_spring_boot_starter_2_2_6_RELEASE.xml 680B
Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_1_3_1.xml 676B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_10_3.xml 669B
Maven__org_hibernate_validator_hibernate_validator_6_0_18_Final.xml 669B
Maven__org_springframework_boot_spring_boot_test_2_2_6_RELEASE.xml 659B
Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_33.xml 648B
Maven__org_springframework_spring_expression_5_2_5_RELEASE.xml 646B
Maven__com_fasterxml_jackson_core_jackson_annotations_2_10_3.xml 639B
Maven__org_thymeleaf_thymeleaf_spring5_3_0_11_RELEASE.xml 629B
共 166 条
- 1
- 2
资源评论
马coder
- 粉丝: 1208
- 资源: 6602
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功