admin 管理员组文章数量: 1086019
2024年3月11日发(作者:备份linux系统)
基于SpringBoot+SSM框架的Web应用系统搭建与实现
朱运乔
(湖北职业技术学院,湖北孝感432000)
摘要院对SpringBoot框架作了简单介绍,并对其主要技术特点进行了简要阐述。然后以一个Web应
用为例,展示了SpringBoot+SSM框架的Web应用搭建过程。该应用前端采用Bootstrap、Thymeleaf模
板引擎等框架,后台利用SpringBoot对SSM框架进行整合,并给出了基于该框架的功能实现和关键
代码。
关键词院SpringBoot框架;SSM框架;Web应用系统;功能实现
1概述
从生成各种Spring框架的角度看袁SpringBoot的最大
特点就是框架整合和自动配置遥
2.1Spring框架整合
SpringBoot将流行的组件框架的依赖库进行了分组
当前袁大多优秀的企业级Web应用是由Java相关
的技术框架搭建和开发袁最具代表性的JavaWeb框架有
SSH尧SSM以及SpringMVC+Hibernate袁这些框架技术目
前已非常成熟袁行业采用都很普遍袁在这些框的基础上
开发的Web应用具有开发成本低尧开发周期短尧易于
扩展和后期维护遥但是袁不管是上述哪种架构袁都存在
一个共同缺点袁在系统开发过程中袁需要进行大量的配
置工作袁特别是软件开发初期需要对编写大量xml配置
文件袁以对系统各部分进行有效整合和正确配置袁严重
影响了代码开发效率袁提高了技术门槛袁特别对于一个
新手是望而却步遥SpringBoot的到来这些问题都迎刃而
解袁它使用野约定优于配置冶的理念袁使得一个
JavaWeb项目快速搭建及运行起来遥使用SpringBoot很
容易创建一个独立运行尧基于Spring框架的项目袁并且
开发过程中可以不用或只需要很少的Spring配置遥
以一个学生信息模块为例袁详细介绍SpringBoot框
架的技术特点及原理袁然后展示如何利用SpringBoot将
Spring尧SpringMVC尧MyBatis各部分整合起来并搭建成
一个SSM框架的实现过程遥
整合袁如SSH尧SSM等袁并将其合并到一个依赖库中袁
这样就可以一次性添加到项目的Maven或Gradle构建中遥
的框架或组件袁当应用需要某个框架或组件袁只需选取
对应的starterpom袁并将其加入到Maven项目依赖库
中袁比自己到超市选商品还要容易遥例如袁当需要
SpringMVC袁只需在Maven中加入spring-boot-starter-
web袁如需要支持MyBatis袁只需在Maven中加入my鄄
batis-spring-boot-starter袁如需要Hibernate只需在
SpringBoot官方提供了很多starterpom来整合不同
Maven中加入spring-boot-start-jpa袁每个starterpom添
加到Maven后袁将自动添加所依赖的jar包组袁也不用
关心版本问题遥
2.2自动配置Spring
以往通常搭建一个基于Spring的Web应用袁需要
很多工作袁比方先要在pom文件中引入一系列相关jar
包袁接着在进行Listener配置尧Filter配置尧
Servlet配置等袁然后配置数据库连接尧配置Spring事
务尧配置视图解析器袁最后还要开启注解尧自动扫描功
boot后袁一切都变得很简便快速遥
能噎袁搭个项目框架就得花费相当的精力遥而用Spring鄄
在SpringBoot中袁Spring容器配置采用基于Java代
2SpringBoot技术
来进行快捷Spring应用开发袁采用野约定大于配置冶的
原则袁在使用SpringBoot时只选择合适的框架或组件袁
SpringBoot就可以生成一个企业级的Spring应用项目遥
简单的说袁SpringBoot就是整合了很多优秀的框架袁不
用自己手动去写一堆xml配置然后进行配置遥本质上
SpringBoot就是Spring袁它做了那些复杂而必须的Spring
Bean配置遥
SpringBoot是一个用以简化Spring开发的框架遥用
作者简介:朱运乔渊1971-冤袁男袁副教授袁本科袁研究
方向院数据库系统及应用尧软件开发遥
收稿日期:2019-07-19
2019.10
23
码方式和注解方式袁以代替传统的xml配置袁并且
SpringBoot
数应用场景
为我们提供的相应框架
野约定和习惯冶在Spring
starter
容器中进行自动配
pom袁按大多
置遥只要使用了应用场景所需的starterpom袁相关的技
术配置将会消除袁就可以得到SpringBoot提供的自动配
置的Bean袁如果有特定要求或要进一步优化袁可以在
ties
3系统实现
中按具体要求作相应设置遥
下面以一个学生信息管理模块为例来展现如何利用
SpringBoot
构袁以及该应用的具体设计与实现过程
整合Spring+SpringMVC+MyBatis
遥
渊SSM冤架
3.1
该
整体架构的搭建准备
SpringBoot应用拟采用的整体结构为院该应用采
用前端利用Bootstrap袁页面模板采用thymeleaf模板引
擎袁取代JSP模板曰后台利用SpringBoot对SSM框架进
行整合遥
跟据SSM框架的所包含的主要组件要求袁只需该
SpringBoot
pom及jar
应用的
包库袁最小系统
Maven中需要添加表
渊框架冤即可完成
1列举的
袁如图
starter
所示遥
1
表1系统所需starterpom及jar包
spring-boot-starter-web
starterpom及组件
添加并自动配置
添加并自动配置
spingMVC尧
说明
mybatis-spring-boot-startermybatis数据源
内置的
尧会话
tomcat
尧事务等
等
mysql-connector-java
spring-boot-starter-thymeleaf添加并自动配置
支持mysql驱动
thymeleaf页面模板引擎
request
Model
response
Controller
Service
MyBatis
Mysql
渊thymeleaf
Html页面视图
引擎冤
View
图1系统整体结构
3.2
数据库涉及到两个表
数据库设计
院班级表(tb_clazz)袁学生表
(tb_student)遥如表
表
2袁
2
表
班级表
3所示
(tb_clazz)
遥
列名类型说明
code
idint(11)自增主键
name
varchar
varchar
(18)
(18)
班级代码
班级名
24
2019.10
表3学生表(tb_student)
列名类型说明
name
id
varchar
int学生编号自增主键
varchar
(18)姓名
性别
clazz_id
age
sex
int
(18)
int外键袁引用班级
年龄
id
3.3
项目生成后主要包含的项目模块
项目模块结构组成
袁如图2所示遥
图2
Boot的入口
曰
包含SpringBoot启动类袁为Spring鄄
尧
两个实体类
为数据实体包
曰
袁其中包含
ller
控制类袁接收前端的
为控制器包
request
袁包含
请求
有
尧
为MyBatis
StudentMapper.
的ORM映射
曰
接口包袁其中包含有
java映射接口袁并在接口中直接包含映射注解曰
曰
e包含业务逻辑功能接口
类遥
包含业务逻辑实现
3.4
3援4援1
关键代码
整个系统免
应用程序配置
xml配置袁已经按前面所选starterpom
进行了自动配置袁只需在ties中添加
MySQL
:jdbc:mysql://localhost:3306/
连接院
mybatis?characterEncoding=utf-8
#用户
me:XXX
#密码
rd:XXX
-class-name:.
3援4援2映射接口代码
3援4援4控制器类实现代码
//
@Mapper//映射注解袁spring容器自动生成Bean
publicinterfaceStudentMapper{
@Select("SELECT*FROMtb_student")
@Results(id="studentMap",value={//多对一映射袁
//通过clazz_id列映射到班级
@Result(property="clazz",column="clazz_id",
javaType=,
one=@One(
select=".
ClazzById",
fetchType=
)
)
})
List
@Select("SELECT*FROMtb_studentWHERE
clazz_id=#{id}")
@ResultMap(value="studentMap")
List
}
3援4援3业务逻辑类实现代码
@Service//业务注解袁spring容器自动生成业务Bean
publicclassStudentServiceImplimplementsIStu鄄
dentService{
@Autowired//spring容器自动装配mapper
privateStudentMapperstudentMapper;
@Override
@Transactional//事务注解
publicList
Students();
}
}
(上接第22页)
模型的研究已日渐得到重视袁还有许多关键技术诸如实
时的用户兴趣挖掘尧兴趣模型的实时更新等尚待解决袁
今后还有更多的课题等待研究遥
参考文献
[1]翼俊忠.贝叶斯网及其在网上智能的应用研究[D].
北京工业大学,2013.
@Controller//由spring容器生成Bean
publicclassStudentController{
@Autowired//自动装配学生处理业务
privateIStudentServicestudentService;
@RequestMapping(value="/student")
publicStringStu(Modelmodel){
List
dents();
ribute("list",list);
return"stulist";//转向thymeleaf
//模板页面展示结果
}
}
至此袁一个传统SSM框架的Web应用通过Spring鄄
Boot进行了轻松整合并成功实现袁整个过程不需配任何
xml文件袁就将各部分完美黏合在了一起袁并且代码干
快速整合和自动配置等强大功能遥
净袁无侵入污染袁耦合度极低袁这得益于SpringBoot的
4结语
通过对一个基于SpringBoot和SSM框架的Web应
用项目的实现过程进行了全面分析和展示袁旨在说明使
用该体系结构创建的Web应用项目有效解决了传统
SSM框架在开发过程中存在的配置繁琐和效率不高等问
定的指导意义遥
参考文献
[1]深入Springboot原理[EB/OL].
[2]SpringBoot启动机制[EB/OL].
[3]汪云飞.JAVAEE开发的颠覆者SpringBoot实战[M].
北京:电子工业出版社,2016.
北京:电子工业出版社,2017.
[4]疯狂软件.SpringMVC+MYBatis企业应用实战[M].
题袁对于软件开发人员在JavaWeb项目开发过程中有一
[2]高妍方.判别贝叶斯网络的学习算法及其应用研究
[3]唐晓波.基于混合图的在线社交网络个性化推荐系
统研究[J].情报理论与实践,2013.
[D].国防科技大学,2008.
2019.10
25
版权声明:本文标题:基于springboot+ssm框架的web应用系统搭建与实现 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1710099688a557662.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论