springboot是spring團(tuán)隊(duì)在2014年的時(shí)候,伴隨spring4.0版本開發(fā)出一個(gè)框架
springboot用于快速的創(chuàng)建一個(gè)spring應(yīng)用,簡(jiǎn)化配置
以前需要啟動(dòng)一個(gè)web服務(wù),需要用spring來整合一堆框架.
很明顯已經(jīng)不符合在微服務(wù)的大背景下的一堆繁瑣的配置
Springboot的原則是約定大于配置
詳細(xì)的介紹可以上Spring官網(wǎng)查看:https://projects.spring.io/spring-boot/
SpringBoot優(yōu)點(diǎn)
- 快速創(chuàng)建獨(dú)立運(yùn)行的spring項(xiàng)目以及主流框架集成
- 使用嵌入式的servlet容器,應(yīng)用無需打成war包
- 使用starters自動(dòng)依賴與版本控制
- 大量的自動(dòng)配置,簡(jiǎn)化開發(fā),也可修改默認(rèn)值
- 無需配置xml,無代碼生成.
- 與云計(jì)算天然集成
快速創(chuàng)建一個(gè)Springboot項(xiàng)目
使用IDEA Srping initializer 快速創(chuàng)建spring boot項(xiàng)目
Springboot項(xiàng)目resources文件夾
- static : 保存所有的靜態(tài)資源(js,css,images)
- template : 保存所有的模板界面,(spring boot默認(rèn)jar包使用嵌入式的tomcat,默認(rèn)不支持jsp) 可以使用freemarker,thymeleaf
Springboot項(xiàng)目 pom文件
<parent> //管理spring boot 所有依賴jar包
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
</parent>
<dependencies> //如果是web項(xiàng)目,可以依賴一個(gè)starter web
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build> 可以將spring boot應(yīng)用打包成一個(gè)可執(zhí)行的jar包
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
Springboot 啟動(dòng)類
@SpringBootApplication 注解為此類是Springboot的應(yīng)用類
public class SpringQuickApplication {
public static void main(String[] args) { //執(zhí)行main方法,就會(huì)執(zhí)行Springboot應(yīng)用
SpringApplication.run(SpringQuickApplication.class, args);
}
}
---------------------------------------------------------------------------------------------------------------------------
如果點(diǎn)擊進(jìn)去@SpringBootApplication注解類可以看到
@Target(ElementType.TYPE) //注解只能標(biāo)注在類或者接口之上
@Retention(RetentionPolicy.RUNTIME) //注解在運(yùn)行時(shí)都是可見的
@Documented
@Inherited
@SpringBootConfiguration //標(biāo)注為這是一個(gè)Springboot配置類,如果點(diǎn)進(jìn)去看的話,會(huì)有一個(gè)@Configuration注解,這是spring注解驅(qū)動(dòng)來代替xml配置
@EnableAutoConfiguration // 開啟自動(dòng)配置功能,詳情可以 2. Springboot自動(dòng)配置
@ComponentScan(excludeFilters = { //@ComponentScan 跟 xml中的<context:component-scan一致的用法
@Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {}