這幾天閉關修煉了一陣子,就是學習這個springboot框架,當然也只是剛剛入門,這個框架是以springMVC為基礎的,必須對springMVC有一定的了解才能夠了解掌握springboot,那么我們話不多說,直接進入正題。
1創建項目
直接new 一個Maven工程(當然這個的前提是在你的計算機里的maven環境以及maven庫都已經准備就緒的情況,(maven庫自己測試一般都是本地,公司開發的話一般都是在私服里面))

點擊next

還是點擊next

我們建立web項目,所以選擇web項目點擊next。(我上面是因為沒有選中web,選中即可點擊next)

這里面的值按照實際情況填入,就是maven項目里幾個屬性的值(這里我就以springboot為例),填寫完成之后點擊finish這樣項目就創建成功了!

到這樣項目報錯,這里報錯是很正常的,因為我們沒有引入頁面的jar包,那么我們現在去解決這個報錯,之前我們在理論上都知道springboot是通過pom.xml這個文件來引入jar包的,那還等什么呢,來吧!
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.springboot</groupId>
<artifactId>springbootdemo</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>springbootdemo</name>
<description>springbootdemo</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath/>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.7</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.2.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Start: log4j2 -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
</dependency>
<!-- End: log4j2 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.3</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.5</version>
</dependency>
<!--mybatis分頁插件-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.18</version>
</dependency>
<!--過濾emoji字符-->
<dependency>
<groupId>com.vdurmont</groupId>
<artifactId>emoji-java</artifactId>
<version>3.2.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId>
</dependency>
<!-- start 使用Jetty作為容器運行 -->
<!-- <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
<scope>provided</scope>
</dependency> -->
<!-- end 使用Jetty作為容器運行 -->
</dependencies>
<!-- 普通的maven打包方式 -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<!-- 普通的maven打包方式 -->
</project>
然后跟新項目一下即可(右擊項目>選中maven>點擊updateProject>選中正在操作的項目>點擊ok即可)
注意:這時候的Java Resources 只有一個文件夾,所以我們需要再建一個文件夾
2項目編寫
建立文件夾后如圖所示

我們首先在java文件夾下建包,並且書寫啟動類以及控制層等等

如此我們的層數都分好了,
注意:這里的啟動的所在層級一定要是他們其他所在的父級數,因為注解是從上往下自動掃描的,
這里還有我們的mapper文件沒有配,配置mapper文件書寫sql語句對數據庫進行操作,那么必須有的一點就是首先得讓程序連接上數據庫;
在resources文件夾下建application.properties文件,注意:這里的文件名一定得是application.properties
在application.properties文件里配置數據庫的相關信息
spring.datasource.url=jdbc:oracle:thin:@localhost:1521:orcl
spring.datasource.username=scott
spring.datasource.password=tiger
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
並且同時在resources文件下新建一個文件夾用於存放mapper文件(這里就建一個叫mapper的文件夾)
此外,為了后面做准備,我們再新建兩個文件夾分別叫static和templates用於存放頁面和js等一些文件;
在application.properties配置頁面路徑以及mapper文件的路徑
# thymeleaf spring.thymeleaf.prefix=classpath:/templates/ spring.thymeleaf.check-template-location=true spring.thymeleaf.suffix=.html spring.thymeleaf.encoding=UTF-8 spring.thymeleaf.content-type=text/html spring.thymeleaf.mode=HTML5 spring.thymeleaf.cache=false mybatis.mapper-locations=classpath:mapper/*Mapper.xml mybatis.type-aliases-package=com.springboot.dao
下面做一個簡單的列子,從數據庫中拿一張表,並將表中的信息顯示的頁面上
前台頁面代碼
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"></meta> <title>Insert title here</title> </head> <body> <a th:href="@{'/test/selectEmp'}">查詢emp</a>
</body> </html>
//注意:這是使用的thymeleaf模板,所以th:href="@{'/test/selectEmp'}"是服務器路徑的寫法
form表單中的action路徑寫法是:th:action="@{'/test/selectEmp'}"
控制層代碼
@Controller @RequestMapping("/test") public class UploadAndDownloadController { @RequestMapping("/selectEmp") public String selectEmp(){ ... ... ... return ""; } }
中間層省略,和springMVC一樣調用service的接口方法即可,同理,service層和dao的接口,model層以及mapper配置文件省略,同springMVC;
