• spring boot 学习


    0. 一个链接学习足够

    springboot wiki

    1.背景介绍

    Spring Boot是由Pivotal团队提供的基于Spring4 的条件注册的一套快速开发整合包,其设计目的是用来简化新Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。 spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,spring大家都知道,boot是启动的意思。所以,spring boot其实就是一个启动spring项目的一个工具而已。从最根本上来讲,Spring Boot就是一些库的集合,它能够被任意项目的构建系统所使用,就像maven整合了所有的jar包,Spring Boot 提供了基于spring 的各种starter(传感器)的快速启动。

    2. 为什么会出现

    以前在写spring项目的时候,要配置各种xml文件,还记得曾经被ssh框架支配的恐惧。随着spring3,spring4的相继推出,约定大于配置逐渐成为了开发者的共识,大家也渐渐的从写xml转为写各种注解,在spring4的项目里,你甚至可以一行xml都不写。

    虽然spring4已经可以做到无xml,但写一个大项目需要茫茫多的包,maven配置要写几百行,也是一件很可怕的事。

    现在,快速开发一个网站的平台层出不穷,nodejs,php等虎视眈眈,并且脚本语言渐渐流行了起来(Node JS,Ruby,Groovy,Scala等),spring的开发模式越来越显得笨重。

    在这种环境下,spring boot伴随着spring4一起出现了。

    3. spring boot 可以做什么

    spring boot并不是一个全新的框架,它不是spring解决方案的一个替代品,而是spring的一个封装。所以,你以前可以用spring做的事情,现在用spring boot都可以做。

    现在流行微服务与分布式系统,springboot就是一个非常好的微服务开发框架,你可以使用它快速的搭建起一个系统。同时,你也可以使用spring cloud(Spring Cloud是一个基于Spring Boot实现的云应用开发工具)来搭建一个分布式的网站。

    4. 优点

    1. 使编码变得简单

    spring boot采用java config的方式,对spring进行配置,并且提供了大量的注解,极大地提高了工作效率。

    1. 使配置变得简单

    spring boot提供许多默认配置,当然也提供自定义配置。但是所有spring boot的项目都只有一个配置文件:application.properties/application.yml。用了spring boot,再也不用担心配置出错找不到问题所在了。

    1. 使部署变得简单

    spring boot内置了三种servlet容器:tomcat,jetty,undertow。
    所以,你只需要一个java的运行环境就可以跑spring boot的项目了。spring boot的项目可以打成一个jar包,然后通过java -jar xxx.jar来运行。(spring boot项目的入口是一个main方法,运行该方法即可。 )

    1. 使监控变得简单

    spring boot提供了actuator包,可以使用它来对你的应用进行监控。

    4.知识剖析

    Springboot将很多魔法带入了Spring应用程序的开发之中,其中最重要的是以下四个核心。
    自动配置:针对很多Spring应用程序常见的应用功能,Spring Boot能自动提供相关配置
    起步依赖:告诉Spring Boot需要什么功能,它就能引入需要的库。
    命令行界面:这是Spring Boot的可选特性,借此你只需写代码就能完成完整的应用程序,无需传统项目构建。
    Actuator:让你能够深入运行中的Spring Boot应用程序,一探究竟。

    5.经常性的疑问

    1. SPRINGBOOT和SPRING的关系?

    spring就好比一个大型的电子元件生产公司,它生产的元件性能都很优秀,但是坊间使用它的元件的作坊,拿到手之后 还得搞一些电焊,衔接,可能要花个10天半个月最后做成一个家电或者机器人。有一天这个公司就宣布,我们现在提供 了一些功能模块,比如摄像头传感器,扩音器传感器,压力传感器,它们都是统一的usb接口的,只需要插线连接就能使用了。
    Spring Boot没有引入任何形式的代码生成,而是利用了Spring 4的条件化配置特性, 以及MavenGradle提供的传递依赖解析,以此实现Spring应用程序上下文里的自动配置。 简而言之,从本质上来说,Spring Boot就是Spring,它做了那些没有它你自己也会去做的Spring Bean配置。有了Spring Boot,你不用再写这些样板配置了,可以专注于应用程序的逻辑, 这些才是应用程序独一无二的东西。

    1. Spring-boot-starter是什么?

    Spring-boot-starter是spring提供的针对日常企业应用开发各种场景的自动依赖模块,就像是一个工具箱,装好了你需要的各种工具(依赖),“开箱即用”使得开发各种场景的spring应用更加迅捷

    1. Spring Boot 中如何配置属性?

    实际上,Spring Boot应用程序有多种设置途径。Spring Boot能从多种属性源获得属性,包括 如下几处。
    在这里插入图片描述

    工具

    懒得写,工具而已 根据搜集到的教程学习下即可。

    SpringBoot精髓

    精髓:

    1. SpringBoot启动会加载大量的自动配置类
    2. 我们看我们需要的功能有没有SpringBoot默认写好的自动配置类;
    3. 我们再来看这个自动配置类中到底配置了哪些组件;(只要我们要用的组件有,我们就不需要再来配置了)
    4. 给容器中自动配置类添加组件的时候,会从properties类中获取某些属性。我们就可以在配置文件中指定这 些属性的值;
    5. 上一个的细节 xxxxAutoConfigurartion:自动配置类; 给容器中添加组件 会有对应的
      xxxxProperties:封装配置文件中相关属性;

    参考

    程序员DDSpringBoot教程
    方志朋SpringBoot博客
    @RequestParam和@PathVariable的用法与区别
    关与@EnableConfigurationProperties 注解
    SpringBoot配置文件
    Spring @Import讲解
    SpringBoot的幕后推手
    spring-boot-starter讲解
    SpringBoot learning
    springboot第一个bug
    springboot资料整合
    springboot git
    Spring AOP中JoinPoint的用法
    JPA十分钟

  • 相关阅读:
    ios 应用程序之间的跳转(内置程序的实现)
    iOS手势UIGustureRecognizer
    动画学习之Animating Views with Blocks
    get 和post 方式请求数据
    通过路径添加图片
    contentSize、contentInset和contentOffset区别
    bzoj1055 [HAOI2008]玩具取名 区间DP
    bzoj1025 [SCOI2009]游戏 动态规划
    POJ2299 树状数组求逆序对
    洛谷1525 关押罪犯NOIP2010 并查集
  • 原文地址:https://www.cnblogs.com/sowhat1412/p/12734117.html
Copyright © 2020-2023  润新知