SpringBoot開發流程

1、 maven建立SpringBoot項目 

 

注意:  jdk必須1.8java

 

Finish 完成建立mysql

 

2、項目應用

1.springboot的項目結構

 

2.springboot的常規開發

 

因爲springboot先天性集成了spring/springmvc,因此咱們不須要編寫相關配置文件,直接開發便可。git

3、springboot的核心配置文件

 

Springboot的核心配置文件主要是來修改一些基本配置(服務器端口號、項目訪問名字)以及集成配置(數據源、mybatisredis等等)程序員

 

 

 

Springboot的核心配置文件分爲兩種形式:(注意:名字都必須爲applicationgithub

1.application.properties   

2.application.yml

 

3.自定義springboot配置

 

Springbootapplication.properties/application.yml 文件還能夠配置一些自定義屬性用來給對象屬性賦值方便代碼維護以及解耦合web

應用場景springMvc文件上傳,定義全局文件夾路徑。redis

 

一、在application.yml中添加自定義屬性配置

 

方式一:經過@Value(「${upload.imagePath}」)spring

 

方式二:定義通用映射解析sql

二、在application.properties中添加自定義屬性配置

1.application.properties配置文件中定義自定義屬性
com.sam.name=sam
com.sam.age=11
com.sam.desc=magical sam
二、編寫Bean類,加載屬性

Sam類須要添加@Component註解,讓spring在啓動的時候掃描到該類,並添加到spring容器中。後端

第一種:使用spring支持的@Value()加載
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
}
第二種:使用@ConfigurationProperties(prefix="") 設置前綴,屬性上不須要添加註解。
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
}

 

三、在controller中注入並使用Sam這個Bean。
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";
    }

}

 

4、springboot的環境配置

 

在實際開發過程當中,不一樣的開發環境,咱們使用的配置信息也是不同的,這關係到鏈接池配置、工廠配置等等

例如:

生產環境(線上環境)

開發環境(線下環境)

測試環境(單元測試)

不一樣的環境咱們要指定不一樣的配置文件,相對springboot給咱們提供了這樣的便利。

注意:也能夠在application.properties總配置文件中引入application-dev.properties(開發)或application-prod.properties(生產)或application-test.properties(測試) 達到動態切換環境的目的

application.properties:

 

5、springboot整合Mybatis

1.導入相關依賴jar

<!--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>

 

2.在配置文件中加入鏈接池以及mybatis的相關配置

3.Demo測試

6、springboot整合Redis

1.導入依賴

2.在application.yml中添加redis配置

3.自定義rediskey/value 序列化配置不然redis中存放的key/value是二進制格式,根據key刪除時,找不到指定key這裏使用的是RedisTemplate

4.Redis的開發使用

7、springboot集成shiro

 

1.引入相關依賴

 

2.準備shiro的配置文件

1.手動封裝攔截策略

2.直接引入xml配置文件

在啓動時 在啓動類上經過@ImportResource(「classpath:shiro-config.xml」),初始化shiro配置

 

8、springboot整合JSP

 

1.引入相關依賴

2.手動建立webapp 靜態資源文件夾

3.在application.yml 中引入視圖解析配置

4.啓動測試

注意: 若是在訪問jsp的過程當中 發生下載現象  

  1. 排除jar的依賴問題
  2. jar<scope> 設置爲 compile

SpringBoot不推薦使用JSP做爲View,而是推薦咱們使用模板(如:thymeleaf、freemarker等模板引擎),緣由以下:

1. JSP性能較差

2. 絕對的先後端分離思想,JSP並不利於頁面調試(運行依賴於web容器)

3. SpringBoot對內嵌web容器的支持默認也是用tomcat。但tomcat對web資源的處理上寫死了要使用文件目錄,對於打包成jar包的SpringBoot

應用來講,顯然不行,也有的人打包成war,而後仍是部署到tomcat上,這樣違反了SpringBoot的初衷,這樣一來,等於否認了嵌入式容

器,並且程序員還要處理嵌入式環境和外部tomcat環境的不一樣帶來的問題。  

相關文章
相關標籤/搜索