SpringBoot整合Spring、SpringMVC、MyBatis、Druid、Thymeleaf

SpringBoot整合Spring、SpringMVC、MyBatis、Druid、Thymeleaf

1、建立一個基礎的SpringBoot項目,我這裏使用的是SpringBoot 2.4.0版本。

1.配置pom.xml:

<dependencies>
	<!-- springmvc等web項目所需依賴 -->
    <dependency> 
      <groupId>org.springframework.boot</groupId>  
      <artifactId>spring-boot-starter-web</artifactId> 
    </dependency>

    <!-- mybatis -->
    <dependency>
      <groupId>org.mybatis.spring.boot</groupId>
      <artifactId>mybatis-spring-boot-starter</artifactId>
      <version>2.1.4</version>
    </dependency>

    <!-- mysql驅動 -->
    <dependency> 
      <groupId>mysql</groupId>  
      <artifactId>mysql-connector-java</artifactId>  
      <version>5.1.48</version>
    </dependency>

    <!-- druid鏈接池 -->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid-spring-boot-starter</artifactId>
      <version>1.1.10</version>
    </dependency>

    <!-- thymeleaf -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>

    <!-- 單元測試相關依賴 -->
    <dependency>
      <groupId>org.springframework.boot</groupId>  
      <artifactId>spring-boot-starter-test</artifactId>  
      <scope>test</scope> 
    </dependency>

  </dependencies>

2.SpringBoot項目配置中心—application.yml(或application.properties)

# 服務器配置
server:
  # 配置端口號,默認爲8080,可省略這條配置
  port: 8080

# 配置thymeleaf
spring:
  thymeleaf:
    # 模板文件的前綴,通常爲模板的存放位置,若是存放位置爲classpath:/templates/,則可省略這條配置
    prefix: classpath:templates/
    # 模板文件的後綴名,可不配置,默認爲.html
    suffix: .html
    # 是否啓用緩存,開發環境建議設置爲false,這樣修改前端頁面時不用重啓服務就能看到頁面的變化
    cache: false

  # 配置數據源
  datasource:
    # 數據庫驅動
    driver-class-name: com.mysql.jdbc.Driver
    # 數據庫鏈接URL
    url: jdbc:mysql://localhost:3306/test?useSSL=false&useUnicode=true&characterEncoding=utf8&serverTimeZone=UTC
    # 數據庫用戶名
    username: root
    # 數據庫密碼
    password: root
    # 指定數據源類型,若是隻有一個數據源可省略配置,但通常建議配置
    type: com.alibaba.druid.pool.DruidDataSource

# 配置mybatis
mybatis:
  # 實體類包路徑,若是Mapper.xml中不使用別名,若是使用相似於com.test.pojo.Emp這樣的類全路徑則不須要配置
  type-aliases-package: com.demo.pojo
  # Mapper.xml的存放路徑,若是Mybatis使用純註解方式,則不須要配置
  mapper-locations: classpath:/mapper/*Mapper.xml

2、配置mybatis

1.若是有mybatis配置文件,則在application.yml中配置:

mybatis:
  # 配置mybatis配置文件位置
  config-location: classpath:/sqlMapConfig.xml

2.配置mybatis掃描Mapper接口,這裏有兩種配置方式

第一種方式,在啓動類上加一個@MapperScan註解掃描Mapper接口,如:@MapperScan(basePackages = "com.demo.mapper"),其中com.test.mapper爲Mapper接口的包路徑。css

@SpringBootApplication
@MapperScan(basePackages = "com.demo.mapper")
public class SpringBootDemoApplication {
    ...
|

第二種方式,在Mapper接口上加上@Mapper註解(爲了不IDEA中使用@Autowired註解注入Mapper時報紅,能夠選擇在Mapper接口上額外加上@Repository註解)html

@Mapper
@Repository
public interface EmpMapper {

    /**
     * 查詢全部員工信息
     */
    @Select("select * from emp")
    List<Emp> empList();
    
}

3.若是mybatis使用的不是純註解方式,則還須要配置Mapper.xml文件的存放位置,在application.yml中配置

mybatis:
# 配置Mapper.xml文件存放位置
mapper-locations: classpath:/mapper/*Mapper.xml

3、配置Spring

SpringBoot項目中不須要額外進行Spring的配置,由於在啓動類上@SpringBootApplication註解包含了@ComponentScan註解,而且默認掃描SpringBoot啓動類當前包及全部子包中的類。前端

4、配置SpringMVC

SpringBoot項目中若是要配置SpringMVC,可在application.yml中進行配置,若是沒有特殊需求,則通常使用默認的配置(也就是不作任何配置)java

5、配置Druid鏈接池

如下配置可根據項目需求進行配置,不作任何配置也能使用:mysql

spring:
# 鏈接池配置
    druid:
      # 初始化大小,最小,最大
      initial-size: 5
      min-idle: 5
      max-active: 20
      # 配置獲取鏈接等待超時的時間
      max-wait: 60000
      # 配置間隔多久才進行一次檢測,檢測須要關閉的空閒鏈接,單位毫秒
      time-between-eviction-runs-millis: 60000
      # 配置一個鏈接在池中最小生存時間
      min-evictable-idle-time-millis: 300000
      validation-query: SELECT 1 FROM sys_user
      test-while-idle: true
      test-on-borrow: false
      test-on-return: false
      # 打開 PSCache,而且指定每一個鏈接上 PSCache 的大小
      pool-prepared-statements: true
      max-pool-prepared-statement-per-connection-size: 20
      # 配置監控統計攔截的 Filter,去掉後監控界面 SQL 沒法統計,wall 用於防火牆
      filters: stat,wall,log4j
      # 經過 connection-properties 屬性打開 mergeSql 功能;慢 SQL 記錄
      connection-properties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
      # 配置 DruidStatFilter
      web-stat-filter:
        enabled: true
        url-pattern: /*
        exclusions: .js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*
      # 配置 DruidStatViewServlet
      stat-view-servlet:
        url-pattern: /druid/*
        # IP 白名單,沒有配置或者爲空,則容許全部訪問
        allow: 127.0.0.1
        # IP 黑名單,若白名單也存在,則優先使用
        deny: 192.168.100.122
        # 禁用 HTML 中 Reset All 按鈕
        reset-enable: false
        # 登陸用戶名/密碼
        login-username: root
        login-password: root

6、配置Thymeleaf

如下配置可省略,請根據項目實際狀況進行配置:web

# 配置thymeleaf
spring:
  thymeleaf:
    # 模板文件的前綴,通常爲模板的存放位置,若是存放位置爲classpath:/templates/,則可省略這條配置
    prefix: classpath:templates/
    # 模板文件的後綴名,可不配置,默認爲.html
    suffix: .html
    # 是否啓用緩存,開發環境建議設置爲false,這樣修改前端頁面時不用重啓服務就能看到頁面的變化
    cache: false
相關文章
相關標籤/搜索