什麼是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 事務注解