zoukankan      html  css  js  c++  java
  • 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十分钟

  • 相关阅读:
    面向接口程序设计思想实践
    Block Chain Learning Notes
    ECMAScript 6.0
    Etcd Learning Notes
    Travis CI Build Continuous Integration
    Markdown Learning Notes
    SPRING MICROSERVICES IN ACTION
    Java Interview Questions Summary
    Node.js Learning Notes
    Apache Thrift Learning Notes
  • 原文地址:https://www.cnblogs.com/sowhat1412/p/12734117.html
Copyright © 2011-2022 走看看