开源-基于SSM+Jsp的生活分享系统!
最近帮小伙伴,开发一个系统。由于要的比较着急。就连夜赶了。
赶出来后,小伙伴觉得不错,又给了一些额外的费用。给的还很高!
征得小伙伴同意后,源码开源给大家。
# 文章目录
- 一,运行环境: (opens new window)
- 二,功能介绍: (opens new window)
- 三,系统演示: (opens new window)
- 四,系统核心代码: (opens new window)
- 五,源码获取: (opens new window)
# 一,运行环境:
开发系统:Windows10
JDK版本:Java JDK1.8
开发工具:idea
数据库版本:mysql5
数据库可视化工具:navicat for mysql
服务器:apache tomcat 7
其他工具:谷歌浏览器控制台调整网页布局 Postman接口工具进行接口测试
# 二,功能介绍:
1.用户模块管理:用户登录、用户注册、用户的查询、添加、删除操作
2.生活分享笔记管理:分享笔记列表的展示、添加、修改、删除操作
3.生活笔记详情管理:生活笔记详情列表的查看、添加、删除等操作
4.管理员信息管理:管理员信息的查看、修改
5.公告信息管理:公告信息的查看、添加、修改、删除操作
6.用户模块管理:用户列表查询、添加、删除、
7.收藏模块管理:用户收藏列表、取消收藏、收藏
8.关注用户模块管理:关注用户查询、添加关注、取消关注
9.用户评论模块管理:用户评论查询、添加、删除
10.注销退出登录管理
Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。
Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。
# 三,系统演示:
# 四,系统核心代码:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer adminId; // 管理员Id
@Column(length=200)
private String userName; // 用户名
@Column(length=200)
private String password; // 密码
@Column(length=200)
private String trueName; // 真实姓名
@Column(length=200)
private String headPortrait; // 头像
@Column(length=50)
private String sex; // 性别
@Column(length=500)
private String signature; // 备注
@Column(length=200)
private String phone; // 电话
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer articleId; // 文章Id
@Column(length = 200)
private String title; // 文章标题
@Lob
@Column(columnDefinition = "TEXT")
private String content; // 文章内容
@Transient
private String contentNoTag; // 博客内容 无网页标签 Lucene分词用到
private Date publishDate; // 发布日期
@Column(length = 200)
private String author; // 作者
@ManyToOne
@JoinColumn(name = "classifyId")
private Classify classify; // 文章类别
private Integer click; // 点击数
private Integer commentNum; // 评论数
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer bloggerId; // 博主Id
@Column(length=200)
private String nickName; // 昵称
@Column(length=200)
private String headPortrait; // 头像
@Column(length=500)
private String motto; // 座右铭
@Column(length=500)
private String signature; // 个性签名
@Column(length=200)
private String site; // 地址
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer commentId; // 评论Id
@ManyToOne
@JoinColumn(name="articleId")
private Article article; // 文章Id
@ManyToOne
@JoinColumn(name="userId")
private User user; // 用户Id
@Column(length=500)
private String content; // 评论内容
private Date commentDate; // 评论时间
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer noticeId; // 公告Id
@Column(length=500)
private String content; // 公告内容
private Date publishDate; // 发布日期
@Column(length=200)
private Integer grade; // 等级 0 重要 1 一般
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer replyId; // 回复Id
@ManyToOne
@JoinColumn(name="commentId")
private Comment comment; // 评论Id
@ManyToOne
@JoinColumn(name="userId")
private User user; // 用户Id
@Column(length=500)
private String content; // 回复内容
private Date replyDate; // 回复时间
**#数据源的地址
spring.datasource.url=jdbc:mysql://127.0.0.1:3307/db_fruit_vegetable_shop?serverTimezone=GMT%2b8&useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=crit@2019
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.continue-on-error=false
spring.datasource.test-while-idle=true
#获取连接时候验证,会影响性能
spring.datasource.test-on-borrow=false
#在连接归还到连接池时是否测试该连接
spring.datasource.test-on-return=false
spring.datasource.validation-query=SELECT 1 FROM DUAL
#空闲连接回收的时间间隔,与test-while-idle一起使用,设置5分钟
spring.datasource.time-between-eviction-runs-millis=300000
#连接池空闲连接的有效时间 ,设置30分钟
spring.datasource.min-evictable-idle-time-millis=1800000
spring.datasource.initial-size=5
#指定连接池中最大的活跃连接数.
spring.datasource.max-active=50
#指定连接池等待连接返回的最大等待时间,毫秒单位.
spring.datasource.max-wait=60000
#指定必须保持连接的最小值
spring.datasource.min-idle=5
#热部署生效
spring.devtools.restart.enabled=true
#mybatis驼峰匹配开启
mybatis.configuration.map-underscore-to-camel-case=true
# 控制台日志配置
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
#mapper文件扫描路径
mybatis.mapper-locations=classpath*:mappers/admin/*.xml,classpath*:mappers/home/*.xml,classpath*:mappers/common/*.xml
#mail配置
spring.mail.host=smtp.163.com
spring.mail.protocol=smtp
spring.mail.default-encoding=UTF-8
spring.mail.username=15959100218@163.com
spring.mail.password=LBWCLXTCZNGUMVMZ
spring.mail.test-connection=true
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
#redis配置
spring.redis.host=127.0.0.1
spring.redis.port=6379
spring.redis.database=0
#图片上传设置
yjq.upload.photo.sufix=.jpg,.png,.gif,.jpeg
#1024KB
yjq.upload.photo.maxsize=1024
#200MB = 204800KB
yjq.upload.attachment.maxsize=204800
yjq.upload.photo.path=D:/IDEA_project/FruitAndVegetableShop/src/main/resources/upload/photo/
yjq.upload.attachment.path=D:/IDEA_project/FruitAndVegetableShop/src/main/resources/upload/attachment/
**
# 五,源码获取:
点击文章最后弹出的公众号【springmeng】,回复【生活分享】
Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。
Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。
Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。
Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。
后面Java的框架都是基于Spring进行开发的,所以Spring一定要搞好。
我是程序员小孟,欢迎点赞、转发、评论关注。