SpringBoot 入门

  1. SpringBoot背景
    多年以来,Spring IO平台饱受非议的一点就是大量的XML配置以及复杂的依赖管理。在2013年的SpringOne 2GX会议上,Pivotal的CTO Adrian Colyer回应了这些批评,并且特别提到该平台将来的目标之一就是实现免XML配置的开发体验。Boot所实现的功能超出了这个任务的描述,开发人员不仅不再需要编写XML,而且在一些场景中甚至不需要编写繁琐的import语句。在对外公开的beta版本刚刚发布之时,Boot描述了如何使用该框架在140个字符内实现可运行的web应用,从而获得了极大的关注度,该样例发表在tweet上
  2. SpringBoot是什么
    1、Spring Boot是由Pivotal团队提供的全新框架,Spring Boot并不是要成为Spring IO平台里面众多“Foundation”层项目的替代者。Spring Boot的目标不在于为已解决的问题域提供新的解决方案,而是为平台带来另一种开发体验,从而简化对这些已有技术的使用。
    2、该框架使用了特定的方式(继承starter,约定优先于配置)来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
    3、Spring Boot是基于Spring4进行设计,承了原有Spring框架的优秀基因。它并不是一个框架,从根本上将,它就是一些库的集合,maven或者gradle项目导入相应依赖即可使用Spring Boot,而且无需自行管理这些库的版本。 
  3. 为什么要用SpringBoot
    1、Spring Boot是为简化Spring项目配置而生,使用它使得jar依赖管理以及应用编译和部署更为简单。Spring Boot提供自动化配置,使用Spring Boot,你只需编写必要的代码和配置必须的属性。
    2、使用Spring Boot,只需20行左右的代码即可生成一个基本的Spring Web应用,并且内置了tomcat,构建的Jar包通过java -jar就可以直接运行。
    3、如下特性使得Spring Boot非常契合微服务的概念,可以结合Spring Boot与Spring Cloud和Docker技术来构建微服务并部署到云端:
    ·一个可执行jar即为一个独立服务
    ·很容易加载到容器,每个服务可以在自己的容器(例如docker)中运行
    ·通过一个脚本就可以实现配置与部署,很适合云端部署,并且自动扩展也更容易
  4. SpringBoot核心功能
    1、独立运行Spring项目
        Spring boot 可以以jar包形式独立运行,运行一个Spring Boot项目只需要通过java -jar xx.jar来运行。
    2、内嵌servlet容器
    Spring Boot可以选择内嵌Tomcat、jetty或者Undertow,这样我们无须以war包形式部署项目。
    3、提供starter简化Maven配置
    spring提供了一系列的start pom来简化Maven的依赖加载,例如,当你使用了spring-boot-starter-web,会自动加入依赖包。
    4、自动装配Spring
    SpringBoot会根据在类路径中的jar包,类、为jar包里面的类自动配置Bean,这样会极大地减少我们要使用的配置。当然,SpringBoot只考虑大多数的开发场景,并不是所有的场景,若在实际开发中我们需要配置Bean,而SpringBoot灭有提供支持,则可以自定义自动配置。
    5、准生产的应用监控
    SpringBoot提供基于http ssh telnet对运行时的项目进行监控。
    6、无代码生产和xml配置  
    SpringBoot不是借助与代码生成来实现的,而是通过条件注解来实现的。
  5. SpringBoot优缺点
    优点:
    1、快速构建项目。
    2、对主流开发框架的无配置集成。
    3、项目可独立运行,无须外部依赖Servlet容器。
    4、提供运行时的应用监控。
    5、极大的提高了开发、部署效率。
    6、与云计算的天然集成。
    缺点:高度快速集成,传统项目过度有难度。
  6. SpringBoot特性
    1、创建独立的Spring项目
    2、内置Tomcat和Jetty容器
    3、提供一个starter POMs来简化Maven配置
    4、提供了一系列大型项目中常见的非功能性特性,如安全、指标,健康检测、外部配置等
  7. SpringBoot快速搭建
    http://start.spring.io; idea eclipse等ide
  8. SpringBoot几个常用的注解
    (1)@RestController和@Controller指定一个类,作为控制器的注解 
    (2)@RequestMapping方法级别的映射注解,这一个用过Spring MVC的小伙伴相信都很熟悉 
    (3)@EnableAutoConfiguration和@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,则需要此注解标识之后,Spring Boot才会正确识别。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值