eclipse oxygen版本使用maven方式建立SpringBoot專案
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,結果