基于Spring4的条件注册的一套快速开发整合包。
Spring 的配置非常复杂,各种XML、 JavaConfig、hin处理起来比较繁琐。于是为了简化开发者的使用,从而创造性地推出了Spring boot,约定优于配置,S简化了spring的配置流程。
Spring Boot的功能
Spring Boot实现了自动配置,降低了项目搭建的复杂度。
众所周知Spring框架需要进行大量的配置,Spring Boot引入自动配置的概念,让项目设置变得很容易。Spring Boot本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。也就是说,它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具。同时它集成了大量常用的第三方库配置(例如Jackson, JDBC, Mongo, Redis, Mail等等),Spring Boot应用中这些第三方库几乎可以零配置的开箱即用(out-of-the-box),大部分的Spring Boot应用都只需要非常少量的配置代码,开发者能够更加专注于业务逻辑。
Spring Boot只是承载者,辅助你简化项目搭建过程的。如果承载的是WEB项目,使用Spring MVC作为MVC框架,那么工作流程和你上面描述的是完全一样的,因为这部分工作是Spring MVC做的而不是Spring Boot。
对使用者来说,换用Spring Boot以后,项目初始化方法变了,配置文件变了,另外就是不需要单独安装Tomcat这类容器服务器了,maven打出jar包直接跑起来就是个网站,但你最核心的业务逻辑实现与业务流程实现没有任何变化。
Spring Boot 最大的特点是无需 XML 配置文件,能自动扫描包路径装载并注入对象,并能做到根据 classpath 下的 jar 包自动配置。
1,@SpringBootApplication:该注解是springboot最核心注解,也是组合注解,声明它就可以让springboot自动给程序进行必要的配置(简单的说,开启组件扫描和自己配置的功能)。
作为Spring引导文档,@SpringBootApplication注释等同于同时使用@Configuration、@EnableAutoConfiguration和@ComponentScan及其默认属性。Spring Boot允许开发人员使用单个注释而不是多个注释。但是,众所周知,Spring提供了松散耦合的特性,我们可以根据项目需要为每个注释使用这些特性。
2,@EnableAutoCfiguration:使用该注解作用就是告诉springboot根据添加jar依赖猜测你想如何配置spring。
3,@ComponentScan:组件扫描,自动扫面包。并把这些类注册为Bean。
4,@SpriingBootConfiguration:是标志当前的类的配置类。
5,Configuration:定义配置类,可以替换xml文件,如果被注解的类内部包含有一个或者多个被@Bean注解的方法。
6,@Autowired:使用该注解作用就是进行自动注入。
7,@RestController:此注解就是@Controller和@ResponseBoby的集合,使用在controller层的,意思就是告诉控制层里面的方法都是以json的格式进行输出。
8,@Controller:该注解用于定义控制器,在spring项目中是由控制器负责用户发来的请求,然后控制器将用户请求的URL转发到对应的接口service层,进行调用相应的业务,在使用该注解时,还用结合@RequestMapping一起使用,处理http请求。
9,@ResponseBody:使用该注解表示方法的返回结果直接写入HTTP response body中的,当我们异步请求的时候常使用,用于构建restful的API。
10,@Repository:该注解用于标注数据访问组件,DAO组件的。
11,Component:该注解指当我们组件不好归类时,就可以使用该注解进行标注。
12,@service:该注解使用于标注业务层,当在业务层的类上使用时,bean就是自动找到该类就是service的。
13,@PathVariable:该注解使用来绑定函数中的参数用于获取参数的,当默认的情况下,spring会对@该注解的变量进行自动赋值的,我们也可以自己指定。
14,@PequestParam注解:是指获取请求参数的值,@GetMapping是组合注解。
使用springboot开发的优点,就是不用部署war文件因为内部嵌入了tomcat的,允许通过maven来根据需要的starter,非常的方便,可以自动配置spring,为程序员减少大量时间用于写业务逻辑,更不用担心使用某个依赖的版本问题,springboot全部为你自己选择。
、