springboot是spring团队在2014年的时候,伴随spring4.0版本开发出一个框架
springboot用于快速的创建一个spring应用,简化配置
以前需要启动一个web服务,需要用spring来整合一堆框架.
很明显已经不符合在微服务的大背景下的一堆繁琐的配置
Springboot的原则是约定大于配置
详细的介绍可以上Spring官网查看:https://projects.spring.io/spring-boot/
SpringBoot优点
- 快速创建独立运行的spring项目以及主流框架集成
- 使用嵌入式的servlet容器,应用无需打成war包
- 使用starters自动依赖与版本控制
- 大量的自动配置,简化开发,也可修改默认值
- 无需配置xml,无代码生成.
- 与云计算天然集成
快速创建一个Springboot项目
使用IDEA Srping initializer 快速创建spring boot项目
Springboot项目resources文件夹
- static : 保存所有的静态资源(js,css,images)
- template : 保存所有的模板界面,(spring boot默认jar包使用嵌入式的tomcat,默认不支持jsp) 可以使用freemarker,thymeleaf
Springboot项目 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项目,可以依赖一个starter web
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build> 可以将spring boot应用打包成一个可执行的jar包
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
Springboot 启动类
@SpringBootApplication 注解为此类是Springboot的应用类
public class SpringQuickApplication {
public static void main(String[] args) { //执行main方法,就会执行Springboot应用
SpringApplication.run(SpringQuickApplication.class, args);
}
}
---------------------------------------------------------------------------------------------------------------------------
如果点击进去@SpringBootApplication注解类可以看到
@Target(ElementType.TYPE) //注解只能标注在类或者接口之上
@Retention(RetentionPolicy.RUNTIME) //注解在运行时都是可见的
@Documented
@Inherited
@SpringBootConfiguration //标注为这是一个Springboot配置类,如果点进去看的话,会有一个@Configuration注解,这是spring注解驱动来代替xml配置
@EnableAutoConfiguration // 开启自动配置功能,详情可以 2. Springboot自动配置
@ComponentScan(excludeFilters = { //@ComponentScan 跟 xml中的<context:component-scan一致的用法
@Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {}
网友评论