Spring Boot + MyBatis 快速入門
阿新 • • 發佈:2019-01-03
這幾天學習了下Spring Boot,想記錄下來以備以後複習檢視用。Spring Boot極度簡化了以往XML配置的複雜繁瑣,只需簡單的幾行配置就可以搭建一個Web工程,大大節省了開發時間。
環境準備
- Eclipse
- JDK 1.7
- Maven
- MySql
一個最簡單的Web應用
首先新建一個Maven工程,下面是pom.xml的配置
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId >
<version>1.4.1.RELEASE</version>
</parent>
<dependencies>
<!-- Spring Boot -->
<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>
<!-- MyBatis -->
<dependency >
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
<!--啟動時啟動內建tomcat -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
<!--對Jsp支援 -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<!-- 支援jstl -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- MySql驅動 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.21</version>
</dependency>
</dependencies>
然後新建一個Application.java
//此註解表示SpringBoot啟動類
@SpringBootApplication
public class Application {
private static Logger logger = Logger.getLogger(Application.class);
public static void main(String[] args) {
logger.info("=================開始成功=================");
SpringApplication.run(Application.class, args);
logger.info("=================啟動成功=================");
}
}
然後寫一個Controller類
@Controller
public class IndexController {
private static Logger logger = Logger.getLogger(IndexController.class);
@RequestMapping("/")
@ResponseBody
public String index() {
logger.info("進入index方法");
return "Hello Spring Boot !";
}
}
因為Spring Boot內建了Tomcat,這時我們從Application.java的main方法啟動就可以啟動Spring Boot的專案了。
這時我們的第一個Spring Boot專案就啟動成功了,在瀏覽器輸入http://localhost:8080/就可以訪問到剛才Controller裡面的Index方法了。
下面開始整合MyBatis,因為上面已經引入了Maven依賴,所以這裡我們直接開始整合
在resources目錄下新建config資料夾,新建application.properties配置檔案
#設定Tomcat埠,預設8080
server.port=8080
#設定專案ContextPath
server.context-path=/
#設定Tomcat編碼
server.tomcat.uri-encoding=UTF-8
#設定檢視解析器路徑
spring.mvc.view.prefix=/WEB-INF/views/
#設定檢視解析器字尾
spring.mvc.view.suffix=.jsp
#資料庫配置
spring.datasource.url=jdbc:mysql://localhost:3306/dd?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#配置.xml檔案路徑
mybatis.mapper-locations=classpath:/com/dd/wx/mapper/*.xml
#配置模型路徑
mybatis.type-aliases-package=com.dd.wx.model
附上工程結構,程式碼結構和普通SpringMVC工程結構一樣
再Application.java方法中加上註解
//此註解表示動態掃描DAO介面所在包
@MapperScan("com.dd.wx.dao")
//此註解表示SpringBoot啟動類
@SpringBootApplication
public class Application {
private static Logger logger = Logger.getLogger(Application.class);
public static void main(String[] args) {
logger.info("=================開始成功=================");
SpringApplication.run(Application.class, args);
logger.info("=================啟動成功=================");
}
}
編寫測試程式碼
@Autowired
private IUserService userService;
@RequestMapping("/getItem")
public String getItem(HttpServletRequest request) {
String id = request.getParameter("id");
logger.info("進入getItem方法,id:"+id);
User user = userService.getUser(id);
request.setAttribute("user", user);
return "/item";
}
在WEB-INF/views/下新建item.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>詳情</title>
</head>
<body>
獲取成功:${user.name }
</body>
</html>