多年来,随着新功能的增加,Spring变得越来越复杂。只需访问https://spring.io/projects 页面,我们就会看到可以在我们的应用程序中使用的所有Spring项目的不同功能。如果必须启动一个新的Spring项目,我们必须添加构建路径或添加Maven依赖关系,配置应用程序服 务器,添加Spring配置。因此,开始一个新的Spring项目需要很多努力,因为我们现在必须从头开始做所有事情。
SpringBoot是解决这个问题的方法。SpringBoot已经建立在现有spring框架之上。使用spring启动,我们避免了之前我们必须做的所有样板代码和配置。因此,SpringBoot可以帮助我们以最少的工作量,更加健壮地使用现有的Spring功能。
SpringBoot构建基于Spring框架基础之上,基于快速构建理念,提供了自动配置功能,可实现开箱即用的特性,
可以简化整个项目的配置,其核心主要包括如下几个方面:
1、 起步依赖(Stater Dependency)
2、 自动配置(Auto Configuration)
3、 健康检查(Actator)
SpringBoot核心功能
1、 独立运行Spring项目
SpringBoot可以以jar包形式独立运行,运行一个SpringBoot项目只需要通过java -jar xx.jar来运行。
2、 内嵌servlet容器
SpringBoot可以选择内嵌Tomcat, jetty或者Undertow,这样我们无须以war包形式部署项目。
3、 提供starter简化Maven配置
spring提供了一系列的start pom来简化Maven的依赖加载,例如,当你使用了spring-boot-starter-web,会自动加入如图5-1所示的依赖包。
4、 自动装配Spring
SpringBoot会根据在类路径中的jar包,类、为jar包里面的类自动配置Bean,这样会极大地减少我们要使用的配置。当然,SpringBoot只考虑大多数的开发场景,并不是所有的场景, 若在实际开发中我们需要配置Bean,而SpringBoot灭有提供支持,则可以自定义自动配置。
5、 准生产的应用监控
SpringBoot提供基于http ssh telnet对运行时的项目进行监控。
6、 无代码生产和xml配置
SpringBoot不是借助与代码生成来实现的,而是通过条件注解来实现的,这是Spring4.x提 供的新特性。
SpringBoot核心功能
1、 创建独立的Spring项目
2、 内置Tomcat和Jetty容器
3、 提供一个starter POMs来简化Maven配置
4、 提供了一系列大型项目中常见的非功能性特性,如安全、指标,健康检测、外部配置等
5、 完全没有代码生成和xml配置文件
SpringBoot几个常用的注解
1、 @RestController和@Controllet指定一个类,作为控制器的注解,并说明其区别
2、 @RequestMapping方法级别的映射注解,这一个用过Spring MVC的小伙伴相信都很熟悉
3、 @Enab1eAutoConfiguration 和@SpringBootApplication是类级别的注解,根据maven依 赖的jar来自动猜测完成正确的spring的对应配置,只要引入了spring-boot-starter-web 的依赖,默认会自动配置Spring MVC和tomcat容器
4、 @Configuration类级别的注解,一般这个注解,我们用来标识main方法所在的类,完成元数据bean的初始化。
5、 @ComponentScan类级别的注解,自动扫描加载所有的Spring组件包括Bean注入,一般用在main方法所在的类上
6、 @ImportResource类级别注解,当我们必须使用一个xml的配置时,使用@ImportResource 和@Configuration来标识这个文件资源的类。
7、 @Autowired注解,一般结合@ComponentScan注解,来自动注入一个Service或Dao级别的Bean
8、 @Component类级别注解,用来标识一个组件,比如我自定了一个filter,则需要此注解标识之后,SpringBoot才会正确识别。
Was this helpful?
0 / 0