1,首先需要安装maven,参考链接https://blog.csdn.net/tc11331144/article/details/79915354
2,eclipse配置maven,参考链接https://blog.csdn.net/tc11331144/article/details/79915767
3,创建maven项目
3.1,new——》other——》maven
next
next,结果如下填写,然后finish
项目结构如下
3.2,为项目添加依赖,打开pom.xml文件,添加常用的依赖(Ctrl+s),结果pom文件的内容如下所示
<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>sh.springb</groupId>
<artifactId>spbFirstDemo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!-- 公共spring-boot配置,下面依赖jar文件不用在写版本号 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.3.RELEASE</version>
<!-- 表示父模块pom的相对路径,这里没有值 -->
<relativePath />
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version><!-- 指定jdk版本 -->
</properties>
<dependencies>
<!-- web -->
<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>
<!-- 只在test测试里面运行 -->
<scope>test</scope>
</dependency>
<!-- junit支持 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<!-- 热部署 (可以进行集成测试) -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
<!-- springboot建议我们全部用.html页面并配置上thymeleaf模板来替代jsp页面,这种文件一般需要通controller来进行跳转。 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
</dependencies>
</project>
3.4, 创建程序入口类,代码如下所示
package sh.springb;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
3.5,创建项目的目录,结果如下,注意static和templates文件夹名称不能写错
3.6,创建controller和一个po类并测试(注意:所有其他类必或接口都必须要在App入口类的相同路径下或子路径下)
项目结构如下:
UserController.java代码如下:
package sh.springb.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import sh.springb.po.User;
@RestController //restful格式的
public class UserController {
@RequestMapping("getUser")
public User getUser()throws Exception{
User user = new User();
user.setName("小强");
user.setSex("男");
return user;
}
}
启动APP类,在浏览器上访问http://localhost:8080/getUser,结果如下:
3.7,整合Mybatis
a)在pom.xml文件中加入Mybatis的jar和MySQL的数据库驱动jar,加入如下片段
<!-- 引入mybatis -->
<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>
</dependency>
b)在application.properties文件中配置Mybatis和数据源(注意需要现在MySQL数据库中常见数据库springboot1)
#整合Mybatis
#配置Mybatis
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.config-locations=classpath:mapper/config/sqlMapConfig.xml
#别名
mybatis.type-aliases-package=sh.springb.po
#数据源
spring.datasource.url=jdbc:mysql://localhost:3306/springboot1
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=123456
c) 添加如下内容,使结构如下:
其中,sqlMapConfig.xml的内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
</configuration>
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">
<mapper namespace="sh.springb.mapper.UserMapper">
<select id="findAllUsers" resultType="user">
select * from users
</select>
</mapper>
d) 创建mapper接口service以及service的实现类,结构如下
其中UserMapper.java
package sh.springb.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import sh.springb.po.User;
@Mapper
public interface UserMapper {
public List<User> findAllUsers();
}
UserService.java
package sh.springb.service;
import java.util.List;
import sh.springb.po.User;
public interface UserService {
public List<User> findAllUsers();
}
UserServiceImpl.java
package sh.springb.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import sh.springb.mapper.UserMapper;
import sh.springb.po.User;
import sh.springb.service.UserService;
@Service
public class UserServiceImpl implements UserService{
@Autowired
private UserMapper userMapper;
@Override
public List<User> findAllUsers() {
List<User> users = userMapper.findAllUsers();
return users;
}
}
在UserController.java中添加一下代码:
@Autowired
private UserService userService;
@RequestMapping("getDBUsers")
public List<User> getDBUsers()throws Exception{
return userService.findAllUsers();
}
e)测试:启动APP类,在浏览器输入http://localhost:8080/getDBUsers,结果如下
ps:修改Tomcat的端口号可以在application.properties用以下的代码
#配置tomcat端口
server.port=8181
3.8,将内容显示在页面中(使用thymeleaf)
a)创建页面内容,结构如下:
其中index.html的代码
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8" /><!-- 注意:该标签要以/结束,thymeleaf页面中每个标签都必须关闭 -->
<link rel="stylesheet" href="css/index.css">
<script type="text/javascript" src="js/jquery-3.2.1.js"></script>
<script type="text/javascript" src="js/index.js"></script>
<title>Insert title here</title>
</head>
<body>
<p th:each="user:${users}" ><!--遍历-->
<span th:text="${user.name}"></span>:
<span th:text="${user.sex}"></span>
</p>
</body>
</html>
ps:如果eclipse中没有themeleaf标签的提示,可以按照插件,插件地址为:http://www.thymeleaf.org/eclipse-plugin-update-site/
b)修改UserController中的getDBUsers方法,如下
@RequestMapping("getDBUsers")
public ModelAndView getDBUsers()throws Exception{
List<User> users = userService.findAllUsers();
ModelAndView mv = new ModelAndView();
mv.addObject("users",users);
mv.setViewName("index");
return mv;
}
c)在application.properties中添加配置信息
#thymeleaf
spring.thymeleaf.cache=false
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
d)测试:启动APP,访问http://localhost:8080/getDBUsers,结果