天天看點

SpringBoot入門?看這篇就夠了

什麼是Spring Boot?

Spring架構非常優秀,然而它最大的問題在于“配置過多”。基于Spring的企業級開發項目,需要大量的配置檔案,SpringBoot的出現就是為了,解決Spring架構存在的問題。

Spring Boot是由Pivotal團隊提供的全新架構,其設計目的是用來簡化新Spring應用的建立、運作、調試、部署等。使用SpringBoot可以做到專注于Spring應用的開發,而無需過多關注XML的配置。SpringBoot使用“約定優于配置”的理念,簡單來說,SpringBoot提佛那個了針對企業應用開發各種場景的很多spring-boot-starter自動配置依賴子產品,這些子產品都基于“開箱即用”的原則,使得企業應用開發中各種長江的Spring應用更加快速和高效。

**

SpringBoot優缺點?

**

優點:

獨立運作

Spring Boot而且内嵌了各種servlet容器,Tomcat、Jetty等,現在不再需要打成war包部署到容器中,Spring Boot隻要打成一個可執行的jar包就能獨立運作,所有的依賴包都在一個jar包内。

簡化配置

spring-boot-starter-web啟動器自動依賴其他元件,簡少了maven的配置。

自動配置

Spring Boot能根據目前類路徑下的類、jar包來自動配置bean,如添加一個spring-boot-starter-web啟動器就能擁有web的功能,無需其他配置。

無代碼生成和XML配置

Spring Boot配置過程中無代碼生成,也無需XML配置檔案就能完成所有配置工作,這一切都是借助于條件注解完成的,這也是Spring4.x的核心功能之一。

應用監控

Spring Boot提供一系列端點可以監控服務及應用,做健康檢測。

缺點:

1.從原來的xml配置方式轉換到JAVA配置方式變化有點大,不太适應

2.感覺Spring Boot 比較适合做微服務,不适合做比較大型的項目。

Spring Boot雖然上手很容易,但如果你不了解其核心技術及流程,是以一旦遇到問題就很棘手,而且現在的解決方案也不是很多,需要一個完善的過程。

SpringBoot注解

1.@SpringBootApplication

springboot的核心注解,用來開啟Springboot的各項功能相當于@[email protected]+EnableAutoConfiguration

2.@MapperScan(basePackages=“mapper類所在的包”)

指定要變成實作類的接口所在的包,然後包下面的所有接口在編譯之後都會生成相應的實作類

3.@ComponentScan

指明需要掃描的包預設掃描所在包及子包

4.@ExceptionHandler 表示異常攔截

5.@ControllerAdvice

controller 的一個輔助類,最常用的就是作為全局異常處理的切面類可以指定掃描範圍,約定了幾種可行的傳回值,如果是直接傳回 model 類的話,需要使用@ResponseBody 進行 json 轉換

6.@Value

用來擷取自定義的屬性值

7.@ConfigurationProperties(prefix=“字首”)

作用在類上,用來擷取擁有該字首的自定義的屬性

8.@PropertySource(“classpath:xxx.properties”)

作用在類上,項目啟動加載該配置檔案

9.@Configuration

聲明目前類是一個配置類,相當于Spring配置的xml檔案

10.@EnableTransactionManagement

開啟事務的注解配置

11.@RestController

相當于@[email protected]

SSM常用注解:

@Controller 作用于controller層,将其聲明為spring的Bean

@Service : 在業務邏輯層(service層)使用

@Repository : 在資料通路層(dao層)使用.

@Component : 元件,沒有明确的角色

@Autowired 自動裝配 spring的注解

@Resource 自動注入 是j2ee的,但是spring支援

@RequestMapping 作用于方法或類上,設定通路的url

@ResponseBody 傳回json資料

@RequestBody 接收前台的json資料

@PathVariable 接收路徑參數如:/order/update/1

@RequestParam 接收路徑中問好後的參數如:/order/update?id=1

@RunWith(SpringJUnit4ClassRunner.class) 單元測試

@ContextConfiguration 加載spring的配置檔案

@Transactional 事務注解