一:介绍
1、SpringBoot概念
从最根本上来讲,Spring Boot就是一些库的集合,它能够被任意项目的构建系统所使用。简便起见,该框架也提供了命令行界面,它可以用来运行和测试Boot应用。框架的发布版本,包括集成的CLI(命令行界面),可以在Spring仓库中手动下载和安装。
- 创建独立的Spring应用程序
- 嵌入的Tomcat,无需部署WAR文件
- 简化Maven配置
- 自动配置Spring
- 提供生产就绪型功能,如指标,健康检查和外部配置
- 绝对没有代码生成并且对XML也没有配置要求
二:创建SpringBoot的两种方式
首先我们创建一个空项目,如下所示:
完成后项目长这样,我们基于这个项目开始创建下面的两个模块
1、maven 创建
1)创建项目
2)初始化 pom.xml 文件
代码如下,输入后加载一下maven项目下载依赖即可
<!--父工程-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.6.RELEASE</version>
</parent>
<!--起步依赖web-->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
3)加载
点击左上角加载依赖,然后等待依赖下载完成。如下图所示,我们可以看到,其实 tomcat 服务器也是默认被下载了的。
4)项目目录
5)Mian 和 HelloController 代码
Main:
package org.example;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Main {
public static void main(String[] args) {
// 只需要run一下,就能发布一个springboot应用
// 相当于之前将web工程发布到tomcat服务器,只是在springboot中集成了tomcat插件
SpringApplication.run(Main.class,args);
}
}
HelloController:
package org.example.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
/**
* 请求 /hello 输出hello springboot!
* @return
*/
@RequestMapping(value = "/hello")
public String hello(){
return "hello springboot!";
}
}
6)启动
运行 Main 中的主方法,运行成功后在浏览器输入:http://localhost:8080/hello
7)运行效果
访问成功
2、Spring Initializr 创建
第一种方法会简单一些,但是在正规的大项目中,需要重新进行一些配置,所以第二种方式创建可以一步到位,在这里,我也会讲两种方式
第一种是访问一下网页,手动创建与下载
https://start.spring.io/https://start.spring.io/ 第二种是我们手动创建,步骤如下:
1)创建项目
其中这里的服务器 URL 如果报错,可以换成阿里云的,就可以解决啦
https://start.aliyun.com/
点击下一步后,如果需要 Web ,可以添加 依赖
2)更改为maven项目
这里有时候会有问题,我们需要右键pom.xml,选择更该为maven项目
3)创建HelloController
这里我们为了测试,和第一种方式一样创建HelloController文件,代码如下
package com.example.initializr;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
/**
* 请求 /hello 输出hello springboot!
* @return
*/
@RequestMapping(value = "/hello2")
public String hello(){
return "hello springboot! demo2!";
}
}
4)启动
访问地址:http://localhost:8080/hello2
三:接入 mybatis
这里我们基于第二种方式上继续写。
1)导入依赖
在 pom.xml 文件中导入以下依赖
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.30</version>
</dependency>
2)创建数据库表
use zuche;
CREATE TABLE `users` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(255) NOT NULL,
`age` int(10) NOT NULL,
`phone` bigint NOT NULL,
`email` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
insert into users values(1,'赵',23,158,'3658561548@qq.com');
insert into users values(2,'钱',27,136,'3658561548@126.com');
insert into users values(3,'孙',31,159,'3658561548@163.com');
insert into users values(4,'李',35,130,'3658561548@sina.com'
3)创建目录
项目目录如下:
4)Users实体类
public class User {
private int id;
private String username;
private Integer age;
private Integer phone;
private String email;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Integer getPhone() {
return phone;
}
public void setPhone(Integer phone) {
this.phone = phone;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
5)UserMapper
@Mapper
public interface UserMapper {
@Select("SELECT id,username,age,phone,email FROM USERS WHERE AGE=#{age}")
List<User> getUser(int age);
}
6)UserService
public interface UserService {
List<User> getUser(int age);
}
7)UserServiceImpl
@Service
public class UserServiceImpl implements UserService{
@Autowired
UserMapper userMapper;
@Override
public List<User> getUser(int age){
return userMapper.getUser(age);
}
}
8)IndexController
@RestController
public class IndexController {
@Autowired
UserService userService;
@GetMapping("/show")
public List<User> getUser(int age){
return userService.getUser(age);
}
@RequestMapping("/index")
public Map<String, String> Index(){
Map map = new HashMap<String, String>();
map.put("北京","北方城市");
map.put("深圳","南方城市");
return map;
}
}
9)jdbc.properties
spring.datasource.url=jdbc:mysql://localhost:3306/demo
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.cj.mysql.jdbc.Driver
四:总结
本文讲了关于搭建SpringBoot环境的2种方式 Maven 方式与 Spring Initializr 方式。并且演示了接入 mybatis 的方法。使用SpringBoot,我们只用关注业务逻辑,而不用关注业务。同时省去了 类似于 tomcat 等服务器的配置与部署等。因此,在以后的实际项目开发中,SpringBoot 是一门非常重要的语言。学会 SpringBoot 是必然的!
好啦,本文就到此结束啦,希望能够对各位小伙伴有所帮助哦~需要源码的可以私聊或者评论。