1. 程式人生 > >springboot之關於springboot與傳統spring專案簡單區別

springboot之關於springboot與傳統spring專案簡單區別

開發十年,就只剩下這套架構體系了! >>>   

前言

舊時我們開發一個普通spring的專案時,會存在很難麻煩的xml配置過程

  1. 準備jar包,包括spring、springmvc、redis、mybaits、log4j、mysql-connector-java 等等相關jar ...
  2. 配置web.xml檔案,Listener配置, Filter配置,servlet配置,log4j配置, error配置...
  3. 配置資料庫連結,配置spring事務
  4. 配置檢視解析器
  5. 開啟註解,自動掃描功能
  6. 配置完成後, 部署tomcat,啟動除錯

現在,有了springboot,大大減少配置時間,一鍵啟動, 方便又快捷

  1. 起步依賴
  2. 配置資料來源
  3. 建立入口 application

沒了 就是這麼簡單

下面我們具體說說

springboot配置過程

起步依賴

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.4.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
<!--mybatis 開發包-->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.3.2</version>
</dependency>
<!--springboot web模組支援-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>
<!--druid 的資料來源-->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.0.31</version>
</dependency>

spring-boot-starter-web包自動幫我們引入了web模組開發需要的相關jar包,

mybatis-spring-boot-starter幫我們引入了dao開發相關的jar包。

spring-boot-starter-xxx是官方提供的starter,xxx-spring-boot-starter是第三方提供的starter。

配置資料來源

spring:
  datasource:
     url: jdbc:mysql://127.0.0.1:3306/mybatis_test
     username: root
     password: root
     driver-class-name: com.mysql.jdbc.Driver
     type: com.alibaba.druid.pool.DruidDataSource
     dbcp2:
       min-idle: 5
       initial-size: 5
       max-total: 5
       max-wait-millis: 200

啟動入口

@SpringBootApplication
public class SpringbootMybatisDemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(SpringbootMybatisDemoApplication.class, args); 
    }
}

springboot常用註解說明

@SpringBootApplication:包含了@ComponentScan、@Configuration和@EnableAutoConfiguration註解。其中@ComponentScan讓spring Boot掃描到Configuration類並把它加入到程式上下文。

@Configuration 等同於spring的XML配置檔案;使用Java程式碼可以檢查型別安全。

@EnableAutoConfiguration 自動配置。

@ComponentScan 元件掃描,可自動發現和裝配一些Bean。

@Component可配合CommandLineRunner使用,在程式啟動後執行一些基礎任務。

@RestController註解是@Controller和@ResponseBody的合集,表示這是個控制器bean,並且是將函式的返回值直 接填入HTTP響應體中,是REST風格的控制器。

@Autowired自動匯入。

@PathVariable獲取引數。

@JsonBackReference解決巢狀外鏈問題。

@RepositoryRestResourcepublic配合spring-boot-starter-data-rest使