前言
之前零零散散的學習了一些springboot的知識,以及搭建一些springboot的專案,甚至還有一些專案應用到實際專案中了,但是突然有一天想要建一個自己的專案網站。發現自己不知道從何開始。發現自己雖然用了很久,但是讓自己 從頭開始搭建一個卻處處碰壁。所以靜下心來好好的整理一下springboot的知識點。以及給自己搭建一個springboot 專案的腳手架。以後方便自己套用。
建立spring boot專案
springboot的之所以火熱便是因為開箱即用的特效,低配置甚至無配置使用,方便我們快速上手,我們這裡先就什麼都不配置吧。在idea 上直接可以建立springboot 型別專案。專案名就隨便起吧,整個系列就都以這個專案為例啦,整個專案會分享到github 上,大家需要的可以跟著下載學習。建好的專案目錄如下:其中選中的資料夾是我自己加的,因為我想整個專案的目錄大概就是這個樣子了。檔名起了zlflovemm 沒有什麼專案含義,起名太難了,就起了一個自己紀念的名字,大家勿怪。我們pom.xml 內容,因為後期不管是加其他元件,還是引用 jar 包什麼的都是改這裡。所以把最初版本拿出來。
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.8.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.quellan</groupId>
<artifactId>zlflovemm</artifactId>
<version>1.0.0</version>
<name>zlflovemm</name>
<description>zlflovemm project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<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>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>複製程式碼
可以看到pom.xml 檔案裡面東西很少了,
hello world
我們還是來寫一個hello world 吧,雖然有點幼稚,但畢竟遵循一下古訓。我們在controller 包下建立一個demo 包。在demo 包下建立一個 demo.java .
@RestController
public class Demo {
@RequestMapping("/")
public String demo(){
return "hello world";
}
}複製程式碼
在controller 層用到的註解最多的就是@RestController 和@RequestMapping 了。@RestController和@Controller 註解是使用在controller層的。和@RequestMapping註解是用於設定對映路徑的。這裡註解就不深入講解了,後面會進行深入的講解。我們程式碼寫完之後,我們來啟動專案看一下,這裡我們就直接執行 ZlflovemmApplication中的 main 方法就好了。然後在瀏覽器輸入
localhost:8080複製程式碼
到此原型已經搭建好了,可以發現我們什麼都沒有配置,都是使用的預設的配置,直接寫的測試程式碼,然後就可以直接使用。
但是這樣對於一個專案來說遠遠不夠的,我們來為專案增加一些配置。
配置mysql
其實一開始就配置mysql 太唐突了,但是一些小配置,不想再起一節,所以就一起了。
準備工作
首先當然是建立資料庫和表啦,這裡idea 也可以連線mysql 資料庫,我們就一切都在idea上操作吧。配置我們資料庫連線,我這裡已經在我的虛擬機器上搭建好了mysql,說到搭建MySQL 也遇到一些坑。沒有整理成單獨的部落格,大家可以參考Ubuntu18.04下安裝MySQL連線好之後,我們執行一下sql ,建立資料庫,建立表,插入資料。
CREATE DATABASE /*!32312 IF NOT EXISTS*/`zlflovemm` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `zlflovemm`;
CREATE TABLE `sys_user` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`username` VARCHAR(255) NOT NULL,
`password` VARCHAR(255) NOT NULL,
`email` VARCHAR(255) NOT NULL,
`role_code` VARCHAR(255) NOT NULL,
`role_name` VARCHAR(255) NOT NULL,
`gmt_create` DATETIME NOT NULL,
`gmt_update` DATETIME NOT NULL,
`nickname` VARCHAR(255) DEFAULT NULL,
`user_create` INT(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=INNODB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8;
/*Data for the table `sys_user` */
INSERT INTO `sys_user`(`id`,`username`,`password`,`email`,`role_code`,`role_name`,`gmt_create`,`gmt_update`,`nickname`,`user_create`) VALUES (1,'admin','123456','345849402@qq.com','admin','管理員','2019-03-21 14:30:57','2019-03-21 14:30:57','admin',1);
複製程式碼
我們測試一下我們資料庫建成功沒有。
select * from sys_user複製程式碼
這樣說明我們資料庫是沒有問題的。
pom.xml 中新增依賴
我們現在pom.xml 中新增依賴
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>複製程式碼
前面兩個是mysql 依賴,lombok 是方便我們getter方法和setter方法以及引入日誌的。後面程式碼中會體現。
配置application.properties
在application.properties中配置如下
server.port=9090
server.servlet.context-path=/zlflovemm
server.tomcat.uri-encoding=UTF-8
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.http.encoding.force=true
spring.messages.encoding=UTF-8
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://192.168.252.53:3306/zlfdb?characterEncoding=utf-8&useSSL=false&zeroDateTimeBehavior=CONVERT_TO_NULL
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.max-idle=10
spring.datasource.max-wait=10000
spring.datasource.min-idle=5
spring.datasource.initial-size=5複製程式碼
前面配置訪問埠為9090,訪問路徑為/zllovemm/,設定編碼格式為utf-8.下面就是配置mysql 。
編寫測試
為了方便,我們就直接在controller編寫測試。在controller包中建一個包 userinfo ,在userinfo中建立一個UserController並編寫
@RestController
public class UserController {
@Autowired
private JdbcTemplate jdbcTemplate;
@RequestMapping("/getUser")
public List<Map<String, Object>> getUser(){
String sql="select * from sys_user";
return jdbcTemplate.queryForList(sql);
}
}複製程式碼
然後我們來啟動專案,在瀏覽器中輸入
http://localhost:9090/zlflovemm/getUser複製程式碼
可以看到資料庫是配置成功的。當然正式的專案肯定不能這樣寫,正式的專案會採用mybatis 或者JPA ,這個後期專案肯定也是會用的,所以這裡就暫時這樣寫。
番外
專案的雛形就先這樣吧,後續加入其它元件,會繼續在這個專案上跟新。github地址:https://github.com/QuellanAn/zlflovemm
這篇就到這裡吧,也算是開篇了,後續加油♡