注意: jdk必須1.8java
Finish 完成建立mysql
因爲springboot先天性集成了spring/springmvc,因此咱們不須要編寫相關配置文件,直接開發便可。git
Springboot的核心配置文件主要是來修改一些基本配置(服務器端口號、項目訪問名字)以及集成配置(數據源、mybatis、redis等等)程序員
Springboot的核心配置文件分爲兩種形式:(注意:名字都必須爲application)github
Springboot的application.properties/application.yml 文件還能夠配置一些自定義屬性,用來給對象屬性賦值,方便代碼維護,以及解耦合web
應用場景:springMvc文件上傳,定義全局文件夾路徑。redis
方式一:經過@Value(「${upload.imagePath}」)spring
方式二:定義通用映射解析sql
com.sam.name=sam
com.sam.age=11
com.sam.desc=magical sam
Sam類須要添加@Component註解,讓spring在啓動的時候掃描到該類,並添加到spring容器中。後端
package com.sam.demo.conf; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; /** * @author sam * @since 2017/7/15 */ @Component public class Sam { //獲取application.properties的屬性 @Value("${com.sam.name}") private String name; @Value("${com.sam.age}") private int age; @Value("${com.sam.desc}") private String desc; //getter & setter }
package com.sam.demo.conf; import org.springframework.stereotype.Component; /** * @author sam * @since 2017/7/15 */ @Component @ConfigurationProperties(prefix = "com.sam") public class Sam { private String name; private int age; private String desc; //getter & setter }
package com.sam.demo.controller; import com.sam.demo.conf.Sam; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * @author sam * @since 2017/7/14 */ @RestController public class IndexController { @Autowired private Sam sam; @RequestMapping("/index") public String index() { System.out.println(sam.getName() + " " + sam.getAge() + " " + sam.getDesc()); return "index"; } }
在實際開發過程當中,不一樣的開發環境,咱們使用的配置信息也是不同的,這關係到鏈接池配置、工廠配置等等
例如:
生產環境(線上環境)
開發環境(線下環境)
測試環境(單元測試)
不一樣的環境咱們要指定不一樣的配置文件,相對springboot給咱們提供了這樣的便利。
注意:也能夠在application.properties總配置文件中引入application-dev.properties(開發)或application-prod.properties(生產)或application-test.properties(測試) 達到動態切換環境的目的
application.properties:
<!--mybatis 依賴--> <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> <version>5.1.10</version> </dependency> <!-- 分頁插件 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.3</version> </dependency> <!--鏈接池配置--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.31</version> </dependency> <!--log4j--> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency>
3.Demo測試
在啓動時 在啓動類上經過@ImportResource(「classpath:shiro-config.xml」),初始化shiro配置
4.啓動測試
注意: 若是在訪問jsp的過程當中 發生下載現象
SpringBoot不推薦使用JSP做爲View,而是推薦咱們使用模板(如:thymeleaf、freemarker等模板引擎),緣由以下:
1. JSP性能較差
2. 絕對的先後端分離思想,JSP並不利於頁面調試(運行依賴於web容器)
3. SpringBoot對內嵌web容器的支持默認也是用tomcat。但tomcat對web資源的處理上寫死了要使用文件目錄,對於打包成jar包的SpringBoot
應用來講,顯然不行,也有的人打包成war,而後仍是部署到tomcat上,這樣違反了SpringBoot的初衷,這樣一來,等於否認了嵌入式容
器,並且程序員還要處理嵌入式環境和外部tomcat環境的不一樣帶來的問題。