springboot之關於springboot與傳統spring專案簡單區別
前言
舊時我們開發一個普通spring的專案時,會存在很難麻煩的xml配置過程
- 準備jar包,包括spring、springmvc、redis、mybaits、log4j、mysql-connector-java 等等相關jar ...
- 配置web.xml檔案,Listener配置, Filter配置,servlet配置,log4j配置, error配置...
- 配置資料庫連結,配置spring事務
- 配置檢視解析器
- 開啟註解,自動掃描功能
- 配置完成後, 部署tomcat,啟動除錯
現在,有了springboot,大大減少配置時間,一鍵啟動, 方便又快捷
- 起步依賴
- 配置資料來源
- 建立入口 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使