- SpringBoot不是應用服務器,可以把Web應用程序變爲自執行的Jar文件,不用部署到傳統的JAVA應用服務器裏就能在命令行裏運行。原因是SpringBoot在應用裏嵌入了一個Servelet容器(Tomcat、Jetty或者Undertow)。這是內嵌的Servelet容器提供的功能,不是Springboot實現的。
- Artifact:myapp、包名:myapp、類型:Gradle項目(maven)、依賴:Web和JPA
- 根目錄有pom.xml,先後i依賴
- Application.java:一個帶有main()方法,用於啓動應用程序,配置和啓動引導。
- ApplicationTests.java:一個空的Junit測試類,它加載一個使用SpringBoot自動配置功能的Spring應用程序上下文
- Static目錄防止的是Web應用程序的靜態內容(js\css、img等)
- Templates裏面放的是html
- 框架:Spring MVC處理Web請求,用Thymeleaf來定義Web視圖,用Spring Data JPA來把數據持久化到數據庫裏
- application.properties:用於配置應用程序和Spring Boot的屬性。
註解分析:
@SpringBootApplication:開啓組件掃描和自動配置,將三個游泳的註解組合在一起。
@Configuration:標明使用Spring基於java的配置
@ComponentScan:啓用組件掃描,這樣寫的Web控制類和其他組件才能自動發現並註冊爲Spring應用程序上下文裏的Bean
@Abracadabra,一行配置開啓了spring Boot自動配置的魔力,
在早期版本上,需要同時標上這三個註解,但從SPringle1.2.0開始,有@ SpringBootApplication就可以了
SpringApplication.run(CourhelperApplication.class, args);
負責啓動引導應用程序。
- 覆蓋起步以來引入的傳遞依賴:
排除傳遞依賴:
<dependency>
<groupId>org.springbootwork.boot</group>
<artifactId> spring-boot-starter-web </artifactId>
<exclusions>
<exclusion>
<groupId>com.faserxml.jackson.core</groupId>
<exclusion>
<exclusions>
</dependency>
在maven裏面單獨使用
<dependency>
<groupId>com.fasterxml.jackson.core </groupId>
<artifactId>Jackson-databind</artifactId>
<version>2.4.3</version>
</dependency>