一、简介
Spring Boot设计的目的是用来简化Spring应用的搭建及开发。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。其实Spring Boot并不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,Spring Boot整合了所有的框架。
二、特点
1、独立运行的Spring项目
以jar包的形式独立运行,运行一个Spring Boot项目只需要通过java -jar xx.jar来运行。
2、内嵌Servlet容器
可选择内嵌Tomcat、Jetty,这样我们无需以war包形式部署项目。
3、简化Maven配置
提供一系列starter pom来简化Maven的依赖加载,例如,当你使用了spring-boot-starter-web。会自动加入相关的依赖包。
4、自动配置spring
会根据在类路径中的jar包、类为jar包里的类自动配置Bean,这样会极大地减少我们要使用的配置。
5、提供生产就绪型功能,如指标、健康检查和外部配置
提供基于http、ssh、tenlent对运行时的项目进行监控
6、无代码生成和xml配置
通过注解实现,不需要任何xml配置即可实现Spring的所有配置
三、优缺点
1、优点
①快速构建项目
②对主流开发框架的无配置集成
③项目可独立运行,无须外部依赖Servlet容器;
④项目提供运行时的应用监控
⑤极大地提高了开发、部署效率
⑥云计算的天然集成
2、缺点
相关中文文档和书籍较少
四、第一个spring boot实例
打开idea,file→new→project→Spring Initializr→添加group、artifact→勾上web,下一步即可。
目录结构如下:
- src -main -java -package -SpringbootApplication -resouces - statics - templates - application.properties -test - pom
在java目录下简历Controller文件夹,在该文件夹下建立HelloController类
@RestController @EnableConfigurationProperties({ConfigBean.class}) public class HelloController { @RequestMapping("/") public String index(){ return "Greetings from Spring Boot!"; }
启动FirstSpringBootApplication的main方法。打开浏览器localhost:8080
我们的第一个SpringBoot项目成功启动。如此简单、如此方便。我们既没有做任何的web.xml配置。也没有做任何的spring mvc的配置,更没有配置tomcat等servlet容器。
我们在前面讨论spring Boot特点的时候提及了自动配置spring。接下来让我们看看springBoot在启动的时候为我们注入了哪些bean。
@SpringBootApplication public class FirstspringbootApplication { public static void main(String[] args) { SpringApplication.run(FirstspringbootApplication.class, args); } @Bean public CommandLineRunner commandLineRunner(ApplicationContext ctx) { return args -> { System.out.println("让我们看看Spring Boot为我们注入了哪些Bean"); String[] beanNames = ctx.getBeanDefinitionNames(); Arrays.sort(beanNames); for (String beanName : beanNames) { System.out.println(beanName); } }; } }
五、打包部署
进入项目根目录。执行mvn package -U -Dmaven.test.skip=true命令,打包成firstspringboot.jar。执行java -jar firstspringboot.jar。此时访问localhost:8080即可看到想要的页面。