1. 程式人生 > >eclipse oxygen版本使用maven方式建立SpringBoot專案

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,結果