使用SpringBoot整合ssm项目
SpringBoot是什么?
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。
Spring Boot 现在已经成为Java 开发领域的一颗璀璨明珠,它本身是包容万象的,可以跟各种技术集成。成为SpringBoot全家桶,成为一把万能钥匙。
SpringBoot的特点
1.创建独立的Spring应用程序
2.嵌入的Tomcat,无需部署WAR文件
3.简化Maven配置
4.自动配置Spring
5.提供生产就绪型功能,如指标,健康检查和外部配置
Spring官方支持SpringBoot提供的项目框架生成页面
https://start.spring.io/

在eclipse上创建springboot工程
(jdk版本必须1.8以上,springboot基本上废除了1.6、1.7)
eclipse版本也有要求,版本过低,创建的工程会报错或者可以使用springboot低版本。也可以使用STS或IDEA,版本支持较好,下面演示用的是eclipse
简单的使用springboot整合ssm
1.创建Maven工程,创建simple project,类型为jar

pom.xml
额外需要的jar,还得自己依赖,例如:mysql驱动包,阿里的数据源druid包
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.4.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties> <dependencies>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.0</version>
</dependency>
</dependencies>
创建pojo对象
public class User implements Serializable{
private static final long serialVersionUID = 1L;
private Integer id;
private String name;
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date birthday;
private String address;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + ", birthday=" + birthday + ", address=" + address + "]";
}
}
创建 UserMapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- namespace命名空间,唯一特性 -->
<mapper namespace="com.lmq.mapper.UserMapper">
<select id="find" resultType="User">
select id,name,birthday,address from user
</select>
</mapper>
创建UserMapper接口
public interface UserMapper {
//调用xml方式
public List<User> find();
//调用注解方式
@Select("select * from user where id=#{id}")
public User get(@Param("id") Integer id);
}
创建UserService接口
public interface UserService {
public List<User> find();
public User get(Integer id);
}
创建UserServiceImpl接口实现类
@Service
public class UserServiceImpl implements UserService{
@Autowired
private UserMapper userMapper; public List<User> find() {
return userMapper.find();
} public User get(Integer id){
return userMapper.get(id);
}
}
创建UserController类
使用@RestController替代@Controller和@ResponseBody(返回json串)
@RestController
@RequestMapping(value = "/user")
public class UserController {
@Autowired
private UserService userService; @RequestMapping("/find")
public List<User> find() {
return userService.find();
} @RequestMapping("/get/{id}")
public User get(@PathVariable Integer id){
return userService.get(id);
}
}
创建application.yml
全局配置文件,yml为新的配置文件方式,注意其中格式为空格,不能有tab。
配置端口,配置数据源,配置mybatis全局配置。
注意:如果端口,启动时日志显示8080,说明此文件未加载。检查原因一般是文件名或者路径不正确。
server:
port: 8080 spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/mybatisdb
username: root
password: root mybatis:
typeAliasesPackage: com.lmq.pojo
mapperLocations: classpath:mappers/*.xml logging:
level:
com.lmq.mapper: debug
创建RunApplication.java
@SpringBootApplication
@MapperScan("cn.lmq.mapper") //扫描Mybatis接口文件
public class RunApplication {
public static void main(String[] args) {
SpringApplication.run(RunApplication.class, args);
}
}
初步整合完毕,比三大框架ssm好用太多了
传统构建Maven项目,pom中的依赖包繁多,升级一个jar版本时,会引发新的冲突,调试许久。而SpringBoot接管了jar的版本,它构建好一套,这套中各jar的版本已经测试好,开发者再无需去关注每个依赖包的版本及冲突问题,从而简化开发。
再者,它启动也非常快,直接运行一个类,使用tomcat的maven插件。开发调试时效率提高。
热部署支持
配置pom.xml
<!-- 热部署支持 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
使用SpringBoot整合ssm项目的更多相关文章
- SpringBoot整合SSM(代码实现Demo)
SpringBoot整合SSM 如图所示: 一.数据准备: 数据库文件:数据库名:saas-export,表名:ss_company 创建表语句: DROP TABLE IF EXISTS ss_co ...
- springboot 整合 web 项目找不到 jsp 文件
今天遇到一个问题,就是使用springboot整合web项目的时候,怎么都访问不到 \webapp\WEB-INF\jsp\index.jsp 页面.这个问题搞了半天,试了各种方式.最后是因为在启动的 ...
- springBoot 整合 mybatis 项目实战
二.springBoot 整合 mybatis 项目实战 前言 上一篇文章开始了我们的springboot序篇,我们配置了mysql数据库,但是我们sql语句直接写在controller中并且使用 ...
- 实践丨SpringBoot整合Mybatis-Plus项目存在Mapper时报错
摘要:在SpringBoot运行测试Mybatis-Plus测试的时候报错的问题分析与修复 本文分享自华为云社区<SpringBoot整合MybatisPlus项目存在Mapper时运行报错的问 ...
- 优雅地搭建整合ssm项目
spring + spring mvc + mybatis 三大框架建议观看 黑马程序员出品的 Springmvc+Mybatis由浅入深全套视频教程 Spring框架2016版视频 观看顺序 ,我个 ...
- Java学习之SpringBoot整合SSM Demo
背景:在Java Web中Spring家族有着很重要的地位,之前JAVA开发需要做很多的配置,一堆的配置文件和部署调试一直是JavaWeb开发中的一大诟病,但现在Spring推出了SpringBoot ...
- SpringBoot整合ssm
1.创建工程 使用idea可以快速创建SpringBoot的工程 这里选择常用的类库,SpringBoot将各种框架类库都进行了封装,可以减少pom文件中的引用配置: 比如Spring和Mybatis ...
- 初次搭建spring-boot 整合ssm(有许多小坑)
首先,我是采用官网下载,版本最好选择1.5.16的(这是重点) 下载完毕后,用idea打开解压后的项目. 1.整合spring-mvc 在pom.xml中加入web依赖 <dependency& ...
- 二、springBoot 整合 mybatis 项目实战
前言 上一篇文章开始了我们的springboot序篇,我们配置了mysql数据库,但是我们sql语句直接写在controller中并且使用的是jdbcTemplate.项目中肯定不会这样使用,上篇文章 ...
随机推荐
- HTML5对表单的一些有意思的改进
HTML5对表单进行了许多的改进,在这篇文章中,我选择了其中个人认为很有趣的三个变化:自动聚焦,对button元素的改进,把表单元素与非父元素的form表单挂钩进行简单的介绍. 1. 自动聚焦 自动聚 ...
- IBAction作用相当于void,NSLog(@"被调用的方法名是%s",__func__);
IBAction作用相当于void,NSLog(@"被调用的方法名是%s",__func__);
- 如果有人问你CAP理论是什么,就把这篇文章发给他。
绝对和你在网上看到的CAP定理介绍不一样. CAP 定理(CAP theorem)又被称作布鲁尔定理(Brewer's theorem),是加州大学伯克利分校的计算机科学家埃里克·布鲁尔(Eric B ...
- 并发之AtomicIntegerFieldUpdater
基于反射的实用工具,可以对指定类的指定 volatile int 字段进行原子更新.此类用于原子数据结构,该结构中同一节点的几个字段都独立受原子更新控制. 先来看一段代码: package autom ...
- .Net core 使用Jenkins + Docker + Azure Devops 傻瓜式部署
这几天一直在搞 Jenkins + Docker + Azure Devops 部署,因为这种方式部署真的非常的省心,而且速度快,方便快捷,等等无数优点,感谢我的单身领导的支持,当然也感谢 晓晨大神, ...
- .net第三方数据库物理卡号同步功能实现
本地数据库用的是Oracle,第三方数据库是SQL Server,连接字符串保存在web.config里面. 第三方数据库为增量,每次读取要记录读取的最大位置.我是保存在本地txt文件里面. //保存 ...
- day 13 内置函数
内置函数思维导图:https://www.processon.com/view/link/5c13ad2de4b0ed122da75668 内置函数 作用域相关: locals() 返回当前作用域 ...
- 新系统设置 github 私钥
1.首先我得重新在git设置一下身份的名字和邮箱(因为当初都忘了设置啥了,因为遇到坑了)进入到需要提交的文件夹底下(因为直接打开git Bash,在没有路径的情况下,根本没!法!改!刚使用git时遇到 ...
- 利用主成分分析(PCA)简化数据
一.PCA基础 线性映射(或线性变换),简单的来说就是将高维空间数据投影到低维空间上,那么在数据分析上,我们是将数据的主成分(包含信息量大的维度)保留下来,忽略掉对数据描述不重要的成分.即将主成分维度 ...
- 20145234黄斐《Java程序设计》第六周学习总结
教材学习内容总结 第十章 输入/输出 文件的读写 网络上传数据的基础 父类 InputStream与OutputStream 流(Stream)是对「输入输出」的抽象,注意「输入输出」是相对程序而言的 ...