01-Spring Boot简介及快速构建

一、简介

        SpringBoot它基于Spring4.0设计,是由Pivotal公司提供的框架。SpringBoot纯注解的方式进行开发。

        Spring发展史:Rod Johnson  2003 Interface Spring。

                                2004 开源 Spring Source   

                                2008年收购Tomcat        Aatch Servlet    整个生态掌握自己手里

                                2009 Spring  VMware   4.6亿美金  收购了

                                先后收购RabbitMq、redis

        Vmware        EMC        通用电器   合资成立   Pivotal

                                2014年        Spring  Boot

                                2015年        Spring Cloud(微服务)

                                2018年        敲钟上市

        2014年4月发布Spring Boot1.0 (Spring4.0) 2018年3月Spring Boot2.0(Spring5.0)发布

        SpringBoot基于Spring开发,不仅继承了Spring框架拥有的优秀特性,它并不是用来代替Spring的解决方案,而和Spring框架紧密结合进一步简化了Spring应用的整个搭建和开发过程。其设计目的是用来简化Spring应用的初始搭建以及开发过程。就是通过提供默认配置等方式让我们更容易使用。约定大于配置  开箱即用

        大部分的spring boot应用都只需要非常少量的配置代码,开发者能够更加专注于业务逻辑,另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。

        简化Spring应用开发的一个框架;

        对整个企业级开发技术栈的一个大整合build anything;

        J2EE开发的一站式解决方式。

优点:

        快速构建一个独立的Spring应用程序;

        嵌入的Tomcat、Jetty或者Undertow,无需部署WAR文件;(只需将项目打包成一个jar包,java-jar 可以直接部署一个项目上线。)

        提供starter POMs来简化Maven配置和减少版本冲突所带来的问题;

        对Spring和第三方库提供给默认配置,也可以修改默认值,简化框架配置;

        提供生产就绪功能,如指标、健康检查和外部部署;

        无需配置XML---javaConfig,无代码生成,开箱即用。

二、Why SpringBoot

        SpringBoot简化了基于Spring开发,这只是最直观的一方面;还有一个方面:更得力于各微服务组件的支持,这也是谈SpringBoot必谈微服务的原因。(起初是Netflix移植到Spring),也可以说是Spring Cloud带动了SpringBoot,SpringBoot成就了SpringCloud。SpringBoot和微服务的火热程度是同步的。

       单体应用,就是大名鼎鼎的 all in one 的风格。这种风格把所有的东西都写在一个应用里面,比如我们熟悉的OA、CRM、ERP系统。所有的页面、所有的代码都放在一起,打成一个war包,然后把war包放在Tomcat容器中运行。容易牵一发而动全身。

        一个微服务架构把每个功能元素放进一个独立的服务中,并且通过跨服务器分发这些服务进行扩展,只在需要时才复制。

        

三、快速开始 SpringBoot Hello World

前置知识要求;   spring.io

        SSM框架的使用经验

        熟练使用Maven进行项目构建和依赖管理

        熟练使用idea

    

        

        

               

@ResponseBody注解:将控制器(Controller)方法返回的Java对象,自动转换成JSON/XML等格式,并直接写入HTTP响应体(Response Body)中,而不是跳转到一个视图(JSP/Thymeleaf)页面。

 JSON:JavaScript Object Notation(符号)(JavaScript对象表示法)。“轻量级的数据交换格式”,一种通用的“数据快递盒”。json的数据结构主要有两种形态,并且这两种形态可以互相嵌套:

        形态一:对象(用{}花括号包裹)---相当于Java里的Map或User对象

{
  "name": "张三",
  "age": 18,
  "isStudent": false
}

        形态二:数组(用[]方括号包裹)---相当于Java里的List

[
  "苹果", "香蕉", "橘子"
]

           最常用的复杂结构(对象里面套数组,数组里套对象):

{
  "code": 200,
  "message": "查询成功",
  "data": [
    {"id": 1, "name": "Alice"},
    {"id": 2, "name": "Bob"}
  ]
}

 项目打包部署:

   

将项目打包成jar包   jar包里面套jar包---Fat Jar

版本依赖

启动类

四、自定义SpringApplication

Spring的三大核心机制

        1.IoC(控制反转)对象不由你创建,由Spring管。解耦,降低代码之间的依赖。

        2.DI(依赖注入)依赖不由你组装,由Spring塞。自动装配,省去手动new的麻烦

        3.AOP(面向切面编程)横切逻辑不用你写,由Spring插。抽离通用功能(日志、事务等)

Spring中的Bean

        在Spring框架中,Bean就是由Spring IoC容器所管理、实例化、组装和配置的对象。它是构成应用程序主干的“零件”,理解Bean是使用Spring框架的基石。Bean就是由Spring容器来创建和管理的Java对象。你不需要自己new,Spring会帮你做好一切。

@Service  // 告诉Spring:把这个类变成一个Bean
public class UserService {
    @Autowired  // 告诉Spring:帮我把这个依赖塞进来
    private UserDao userDao;
}

实例化,自定义

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值