介紹:
上篇給大家介紹了ssm多模塊項目的搭建,在搭建過程中spring整合springmvc和mybatis時會有很多的東西需要我們進行配置,這樣不僅浪費了時間,也比較容易出錯,由于這樣問題的產生,pivotal團隊提供了一款全新的框架,該框架使用了特定的方式來進行配置,從而使開發(fā)人員不再需要定義樣板化的配置。通過這種方式,spring boot致力于在蓬勃發(fā)展的快速應用開發(fā)領域(rapid application development)成為領導者。
特點:
1. 創(chuàng)建獨立的spring應用程序
2. 嵌入的tomcat,無需部署war文件
3. 簡化maven配置
4. 自動配置spring
5. 提供生產就緒型功能,如指標,健康檢查和外部配置
6. 絕對沒有代碼生成和對xml沒有要求配置
(以上大部分內容摘自百度百科)
ok,關于springboot的講解就到這里大家想了解的更詳細可以自行百度。
搭建springboot項目我推薦大家用idea或者sts(spring tool suite spring公司自己研發(fā)的一款編輯器),我現(xiàn)在用的是idea,所以接下來我是用idea搭建項目的
一、創(chuàng)建項目
填寫完group和atrifact后點擊下一步,這里我選擇的是jar,因為官方文檔推薦的是打包成jar,所以這里就不過多解釋了。
這里勾選上web
這里勾選上mysql、jdbc和mybatis點擊下一步
這里輸入項目名和項目路徑后點擊完成
這是新建完成后的項目結構
二、添加pom.xml依賴
因為springboot不推薦使用jsp做頁面,如果想要使用就必需的添加jsp的依賴
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
<?xml version= "1.0" encoding= "utf-8" ?> <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>com.chaoqi</groupid> <artifactid>springboot_demo2</artifactid> <version> 0.0 . 1 -snapshot</version> <packaging>jar</packaging> <name>springboot_demo2</name> <description>demo project for spring boot</description> <parent> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-parent</artifactid> <version> 2.0 . 0 .release</version> <relativepath/> </parent> <properties> <project.build.sourceencoding>utf- 8 </project.build.sourceencoding> <project.reporting.outputencoding>utf- 8 </project.reporting.outputencoding> <java.version> 1.8 </java.version> </properties> <dependencies> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-jdbc</artifactid> </dependency> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-web</artifactid> </dependency> <dependency> <groupid>org.mybatis.spring.boot</groupid> <artifactid>mybatis-spring-boot-starter</artifactid> <version> 1.3 . 2 </version> </dependency> <dependency> <groupid>mysql</groupid> <artifactid>mysql-connector-java</artifactid> <scope>runtime</scope> </dependency> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-test</artifactid> <scope>test</scope> </dependency> <!--添加jsp依賴 --> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-tomcat</artifactid> </dependency> <dependency> <groupid>org.apache.tomcat.embed</groupid> <artifactid>tomcat-embed-jasper</artifactid> </dependency> </dependencies> <build> <plugins> <plugin> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-maven-plugin</artifactid> </plugin> </plugins> </build> </project> |
三、springboot整合springmvc
因為在創(chuàng)建項目的時候我們選擇了mybatis和jdbc所以在這里也要把他們兩也給配置進去
編輯application.properties
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
# 頁面默認前綴目錄 spring.mvc.view.prefix=/web-inf/jsp/ # 響應頁面默認后綴 spring.mvc.view.suffix=.jsp #開發(fā)配置 spring.datasource.driverclassname = com.mysql.jdbc.driver spring.datasource.url = jdbc:mysql: //localhost:3306/test?useunicode=true&characterencoding=utf-8 spring.datasource.username = root spring.datasource.password = 123456 # mybatis接口文件位置 mybatis.mapper-locations: classpath:mapper/*.xml mybatis.type-aliases- package : com.chaoqi.springboot_demo2.domain |
如果大家習慣用application.yml那也可以用,但是用application.yml在第一次啟動項目的時候一定要maven clean一下,不然會報錯。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
server: port: 8080 spring: mvc: view: prefix: /web-inf/jsp/ suffix: .jsp datasource: url: jdbc:mysql: //localhost:3306/test?characterencoding=utf-8&useunicode=true&usessl=false username: root password: 123456 driver- class -name: com.mysql.jdbc.driver mybatis: mapper-locations: classpath:mapping/*.xml type-aliases- package : com.chaoqi.springboot_demo2.domain |
編輯完application.properties之后再src/mian下創(chuàng)建webapp目錄,結構如下
新建indexcontroller
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
package com.chaoqi.springboot_test.web; import org.springframework.stereotype.controller; import org.springframework.web.bind.annotation.requestmapping; @controller public class indexcontroller { private static final string index = "index" ; @requestmapping ( "/show" ) public string getindex() { return index; } } |
運行main函數(shù)
訪問頁面,成功
四、springboot整合mybatis
創(chuàng)建數(shù)據(jù)庫表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
-- ---------------------------- -- table structure for music_info -- ---------------------------- drop table if exists `music_info`; create table `music_info` ( `id` int ( 10 ) not null auto_increment comment '主鍵id' , `singer_name` varchar( 100 ) not null comment '歌手名' , `music_size` varchar( 100 ) not null comment '歌曲大小' , `music_name` varchar( 100 ) not null comment '歌曲名' , primary key (`id`) ) engine=innodb auto_increment= 4 default charset=utf8; -- ---------------------------- -- records of music_info -- ---------------------------- insert into `music_info` values ( '1' , '小三' , '3.2m' , '起風了' ); insert into `music_info` values ( '2' , '劉德華' , '3.0m' , '忘情水' ); insert into `music_info` values ( '3' , '豬點點' , '5.0m' , '會寫程序的小豬' ); |
創(chuàng)建pojo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
package com.chaoqi.springboot_test.dao.domain; public class musicinfo { // 主鍵id private integer id; // 歌手名 private string singername; // 歌曲大小 private string musicsize; // 歌曲名 private string musicname; /** * 獲取 主鍵id music_info.id * * @return 主鍵id */ public integer getid() { return id; } /** * 設置 主鍵id music_info.id * * @param id 主鍵id */ public void setid(integer id) { this .id = id; } /** * 獲取 歌手名 music_info.singer_name * * @return 歌手名 */ public string getsingername() { return singername; } /** * 設置 歌手名 music_info.singer_name * * @param singername 歌手名 */ public void setsingername(string singername) { this .singername = singername == null ? null : singername.trim(); } /** * 獲取 歌曲大小 music_info.music_size * * @return 歌曲大小 */ public string getmusicsize() { return musicsize; } /** * 設置 歌曲大小 music_info.music_size * * @param musicsize 歌曲大小 */ public void setmusicsize(string musicsize) { this .musicsize = musicsize == null ? null : musicsize.trim(); } /** * 獲取 歌曲名 music_info.music_name * * @return 歌曲名 */ public string getmusicname() { return musicname; } /** * 設置 歌曲名 music_info.music_name * * @param musicname 歌曲名 */ public void setmusicname(string musicname) { this .musicname = musicname == null ? null : musicname.trim(); } @override public string tostring() { return "musicinfo{" + "id=" + id + ", singername='" + singername + '\ '' + ", musicsize='" + musicsize + '\ '' + ", musicname='" + musicname + '\ '' + '}' ; } } |
創(chuàng)建mapper.xml
1
2
3
4
5
6
7
8
9
10
|
<?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= "com.chaoqi.springboot_test.dao.mapper.musicinfomapper" > <resultmap id= "baseresultmap" type= "com.chaoqi.springboot_test.dao.domain.musicinfo" > <id column= "id" jdbctype= "integer" property= "id" /> <result column= "singer_name" jdbctype= "varchar" property= "singername" /> <result column= "music_size" jdbctype= "varchar" property= "musicsize" /> <result column= "music_name" jdbctype= "varchar" property= "musicname" /> </resultmap> </mapper> |
創(chuàng)建mapper
1
2
3
4
5
6
7
8
9
10
11
12
13
|
package com.chaoqi.springboot_test.dao.mapper; import com.chaoqi.springboot_test.dao.domain.musicinfo; import org.apache.ibatis.annotations.resultmap; import org.apache.ibatis.annotations.select; import java.util.list; public interface musicinfomapper { @resultmap ( "baseresultmap" ) @select ( "select * from music_info" ) list<musicinfo> selectall(musicinfo musicinfo); } |
service接口
1
2
3
4
5
6
7
8
|
package com.chaoqi.springboot_test.service; import com.chaoqi.springboot_test.dao.domain.musicinfo; import java.util.list; public interface musicinfoservice { public list<musicinfo> getmusicinfo(musicinfo musicinfo); } |
service實現(xiàn)類
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
package com.chaoqi.springboot_test.service.impl; import com.chaoqi.springboot_test.dao.domain.musicinfo; import com.chaoqi.springboot_test.dao.mapper.musicinfomapper; import com.chaoqi.springboot_test.service.musicinfoservice; import org.springframework.beans.factory.annotation.autowired; import org.springframework.stereotype.service; import java.util.list; @service public class musicinfoserviceimpl implements musicinfoservice { @autowired private musicinfomapper musicinfomapper; @override public list<musicinfo> getmusicinfo(musicinfo musicinfo) { list<musicinfo> musicinfos = musicinfomapper.selectall( null ); return musicinfos; } } |
創(chuàng)建完成后的結構如下
編輯indexcontroller
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
package com.chaoqi.springboot_test.web; import com.chaoqi.springboot_test.dao.domain.musicinfo; import com.chaoqi.springboot_test.service.musicinfoservice; import org.springframework.beans.factory.annotation.autowired; import org.springframework.stereotype.controller; import org.springframework.web.bind.annotation.requestmapping; import org.springframework.web.bind.annotation.responsebody; import java.util.list; @controller public class indexcontroller { private static final string index = "index" ; @autowired private musicinfoservice musicinfoservice; @requestmapping ( "/show" ) public string getindex() { return index; } @requestmapping ( "/music" ) @responsebody public list<musicinfo> getmusicinfo(musicinfo musicinfo) { list<musicinfo> musicinfolist = musicinfoservice.getmusicinfo( null ); return musicinfolist; } } |
給springboottestapplication類加上注解@mapperscan("com.chaoqi.springboot_test.dao.mapper")
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
package com.chaoqi.springboot_test; import org.mybatis.spring.annotation.mapperscan; import org.springframework.boot.springapplication; import org.springframework.boot.autoconfigure.springbootapplication; import org.springframework.web.bind.annotation.requestmapping; import org.springframework.web.bind.annotation.restcontroller; @springbootapplication @mapperscan ( "com.chaoqi.springboot_test.dao.mapper" ) public class springboottestapplication { public static void main(string[] args) { springapplication.run(springboottestapplication. class , args); } } |
運行項目,成功,springboot+springmvc+mybatis整合完成(源碼下載地址)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:http://www.cnblogs.com/caichaoqi/p/8580521.html