SpringBoot简介
SpringBoot的出现就是为了简化Spring的应用开发,约定大于配置,去繁从简。just run就能创建一个独立的,产品级别的应用。
SpringBoot的优点
- 快速创建独立运行的Spring项目以及主流的框架集成
- 使用嵌入式的Servlet容器,应用无需打包成war包
- starters自动依赖与版本控制
- 大量的自动配置,简化开发,也允许自定义配置
- 无需配置XML,无代码生成,开箱即用
- 准生产环境的运行时应用监控
- 与云计算的天然集成
SpringBoot入门程序:HelloWord!
1、创建一个maven项目,相关pom文件内容:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
(所有的SpringBoot项目都必须要继承SpringBoot的一个叫做parent的启动器,此父项目是真正管理SpringBoot项目应用里面的所有依赖版本。)
其中starter-web启动器包含了Springmvc及一些常用的web正常运行所依赖的组件,SpringBoot将所有的功能场景都抽取出来,做成一个个的starter(启动器)。
2、编写引导类
@SpringBootApplication
public class HelloWordApplication {
public static void main(String[] args) {
SpringApplication.run(HelloWordApplication.class,args);
}
}
SpringBoot的项目都需要一个引导类来进行启动,其中@SpringBootApplication注解表示标识这个类为一个引导类,main方法中的内容为固定写法。
3、编写Controller向网页输出HelloWord
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello(){
return "Hello Word !";
}
}
4、启动引导类,访问Controller
@SpringBootApplication注解解析:
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(
excludeFilters = {@Filter(
type = FilterType.CUSTOM,
classes = {TypeExcludeFilter.class}
), @Filter(
type = FilterType.CUSTOM,
classes = {AutoConfigurationExcludeFilter.class}
)}
)
@SpringBootApplication注解是一个组合注解,其中包含多个注解。
@SpringBootConfiguration:该注解内部包含了@Configuration注解,标志在一个类上表示该类为一个配置类。
@EnableAutoConfiguration:开启自动配置功能。