背景
随着动态语言的流行,java的开发显得比较笨重:繁多的配置,低下的开发效率,复杂的部署流程。
所以,就有了Spring boot,使用“习惯优于配置”的理念,让项目快速的运行起来。
功能
Spring boot可以以jar包的形式独立运行,并且内嵌Servlet容器(可以选择内嵌Tomcat、Jetty或者Undertow)
Spring boot提供了一系列的starter pom来简化maven的依赖加载。
Spring boot会根据在类路径中的jar包、类,为jar包里的类自动配置Bean,极大的减少配置。
记得以前刚接触Spring boot的时候,经常会想到一个问题,Spring boot到底是什么?当时也没法表达出来,现在就可以用一句话说一下了:Spring boot就是以Spring为基础,以约定由于配置的理念,通过自动配置来实现项目的快速搭建和启动的技术。
创建一个Spring boot项目
接下来,搭建一个Spring boot的项目。
idea选择新建一个maven项目,groupId为com.baidu.test,artifactId为spring-boot-test。
project name为spring-boot-test,点击Finish,maven项目创建完成。
在pom文件中添加依赖:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.6.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
spring-boot-starter-parent可以提供相关的Maven默认依赖,spring-boot-starter-web会自动添加Tomcat和Spring mvc的依赖。
接下来,在src/main/java路径下新建一个com.baidu.test,并且在包下面新建一个Spring boot的启动类,Spring boot启动类的命名一般推荐为:artifactId + Application的方式。所以我们的启动类就命名为SpringBootTestApplication。
@SpringBootApplication
public class SpringBootTestApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootTestApplication.class, args);
}
}
启动类上需要添加@SpringBootApplication,这个注解是个组合注解,组合了@Configuration、@EnableAutoConfiguration、@ComponentScan等注解。而且在@SpringBootApplication的注释中可以看到,这个注解是1.2.0版本之后才推出的,所以如果使用的是1.2.0之前的版本,则需要通过在启动类上添加@Configuration、@EnableAutoConfiguration、@ComponentScan这三个注解,来达到@SpringBootApplication的效果。
@EnableAutoConfiguration是用来开启自动配置的。
Spring boot会自动扫描@SpringBootApplication所在类(也就是启动类)的同级包,以及下级包里的Bean。
到这里,Spring boot项目就搭建完成了,直接在启动类上点击右键,选择run,项目就可以启动了。
参考资料:
1.《Spring Boot实战》 汪云飞