springboot整体介绍
1.springboot:快速开发,强大的运维能力。(监控,服务发现,并打)
2.微服务,将一个大系统分解成很多独立的小服务,这些服务能随时发布。
3.2004年第一版spring 1.0,rod johnson, 2014年 spring boot
4.spring 1.0的出现彻底的改变了企业级java开发应用的方式,spring 的依赖注入,和aop声明式事务意味着组件之间再也不存在耦合,再也不需要EJB了。
spring 2.0:xml的出现,可以使用xml文档进行配置
spring 2.5:有了更优雅的面向注解,即@component和@autowired注解,再也不需要显 示的在xml文档里声明bean了。spring mvc注解也可以使用了。
spring 3.0:拥有了一整套全新的java配置,能完全取代xml,@enable开头的注解进一步完善了这一特性。可以第一次写出完全没有xml文档的spring应用程序了。这玩意非常好。
spring 4.0:对条件化配置提供了支持,可根据应用程序的classpath,环境和其他因素,运行时,运行时,运行时决定使用哪些配置,忽略哪些配置。那些决策不需要通过编写脚本确定了,以前的方式是通过脚本确实使用哪些配置,通过脚本建立目录,通过脚本筛选配置文件,以前是把选好的配置文件放在部署包里,现在不一样了。
5.springboot的自动配置,springboot会智能探测你正在构建哪种应用程序,然后会自动配置必要的组件以满足应用程序的需要。对于常见的配置场景,不需要再显示的编写配置了.
6.springboot的起步依赖,starter depenency将常用依赖聚合在一起,简化构建步骤。让你不用去关心jar包特定名称和版本信息。
7.spring boot的Actuator能让你一窥应用程序运行时的内部工作细节,看看spring应用程序上下文有哪些bean,spring mvc怎么与路径映射的,应用程序读取了哪些配置属性。
1.spring 2.5之前各种各样的配置繁琐无比,各种xm文件,web.xml文件。尤其在开启一些spring特性时候,比如multipartResolver,事务管理和spring mvc时,还需要显示的额外的手工配置,比如xml显示的bean配置或者注解方式。
配置serlvet和过滤器
2.spring boot自带不少非功能特性,比如:内嵌服务器。
3.spring boot旨在简化spring的开发,所以spring有啥它就有啥,且很多都是引用spring的jar包,sprig boot只不过增加了自己的一些功能和配置而已。
4.spring boot 简化开发主要体现在4点:1.自动配置 2.起步依赖
5.spring的组件是轻量级的,但配置却是重量级的,繁重的配置。
6.spring 2.5引入了基于注解的扫描,消除了大量的xml配置。
7.spring 3.0引入了基于java的配置,可以完全代替xml.
至此,我们依然没能逃离配置的魔爪,在开启某些spring 特性时,我们依然要显示的xml或者java代码配置,比如事务管理和spring mvc,还需要xml或者java进行配置。配置servlet或者过滤器时,比如dispatcherservlet同样还需要再web.xml配置配置,或者servlet代码里显著进行配置。注解扫描减少了配置量,java配置减少了xml配置,但spring还需要不少的配置,需要手动去进行。
所有这些手动的配置,都额外消耗了开发的精力。
因为这里面有个思维切换:框架层配置和业务开发配置。
8.spring mvc是由spring来启动的,spring mvc是由spring来启动的,spring mvc是由spring来启动的,
9.spring boot的新特性主要有以下:
1.自动配置
2,起步依赖:之前的各种不同版本jar包出现冲突也很烦人,还要知道groupid,artifactid
3.CLI命令行界面
4.Actuator
10.spring boot会为常见场景进行自动配置,spring boot会为常见场景进行自动配置,spring boot会为常见场景进行自动配置,spring boot会为常见场景进行自动配置,
11.起步依赖就是特殊的maven依赖,把常用库聚合在一起。组成了几个特定功能,特定功能的依赖。
比如:,以往旧的习惯,
你想用spring mvc,并采用json作为序列化格式,,并使用内嵌的Tomcat服务器来提供服务。要实现以上目标,你在maven里要分别加入8哥依赖:
spring core依赖
spring web依赖
spring webmvc依赖
jackson依赖
hibernate-validator依赖。
新的spring boot起步依赖,你只需添加一个spring boot的web依赖。
spring boot的起步依赖是面向功能的,而不是具体jar包。如果你想添加一个功能,就添加一个起步依赖即可。
比如,你想用JPA做持久化,那么就加入jpa起步依赖。如果需要安全功能,就加入spring security起步依赖。
简而言之,起步依赖是面向功能的,而非繁琐的冗余的面对诸多jar包的。
还有起步依赖,具体依赖的jar包都是经过测试的,可以不需关注版本问题。
20.spring boot的自动配置的关键在于,一旦加入了起步依赖,spring boot就会根起步依赖,去自动配置某些功能。
21.spring boot cli
22.spring boot Actuator:提供spring boot的强大的运维能力。,能监视spring boot应用运行时的所有内部情况。
包括:
1.spring 上下文配置的bean
2.spring boot自动配置都做了哪些配置
3.应用程序获取到的环境变量,系统属性
4.程序里线程的数量和状态
5.应用程序http请求追踪情况
6.内存用量,垃圾回收,web请求,和datasource情况。
从本质上来说,spring boot就是spring.不是设呢应用程序或者其他的,就是比spring做了一些配置,和添加了监控功能而已。
20.你之前用到的spring 开发技术在这里都能用到。
21.springboot启动类,就叫bootstrap class。spring boot的启动类有两个作用:配置和启动引导。
配置,就是可以配置一些bean。启动引导虽然spring boot已经为你默认配置了很多bean,但还需要你手动进行一些配置的。这些配置bean就可以在启动类中配置。
@SpringbootApplication 开启组件扫描和自动配置 ,开启组件扫描和自动配置 ,开启组件扫描和自动配置 ,
其实@springbootapplicaton注解内部将三个注解组合在一起了:
1.spring的@configuration注解
2.spring的@Component注解,启用组件扫描,这样你写的controller和service才能被注入到ioc容器中
3.springboot的@enableAutoConfige注解:就是这一行注解开启了springboot强大的自动配置功能。
三。spring boot测试
1.@springApplicationConfiguration注解会加载spring应用程序上下文,并指定传入参数class=xxx启动类
2.@runwith(spori)
springboot整体介绍的更多相关文章
- Java 并发编程整体介绍 | 内含超多干货
前段时间一直在学习多线程相关的知识,目前也算有了一个整体的认识,今天呢,主要从整体介绍一下,只谈造火箭,拧螺丝这种细节还需要自己深究. 首先是操作系统级别对于多线程的支持,由 CPU 的多级缓存.缓存 ...
- SNF快速开发平台--规则引擎整体介绍及使用说明书
一.设计目标 a)规则引擎语法能够满足分单,计费,WMS策略的配置要求.语法是一致和统一的 b)能够在不修改规则引擎模块的情况下,加入任意一个新的规则:实现上述需求之外的规则配置需求 c)运算速度快 ...
- PyQt5整体介绍
1 PyQt5整体介绍 PyQt5是基于图形程序框架Qt5的Python语言实现,由一组Python模块构成. PyQt5的官方网站是:www.riverbankcomputing.co.uk. Py ...
- springboot简单介绍
1.springboot简单介绍 微服务架构 Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程. 该框架使用了特定的方 ...
- SpringBoot配置介绍
SpringBoot配置介绍 SpringBoot如何进行配置 在SpringBoot中默认使用Servlet3.0可以没有web.xml,没有任何的xml,我们想要做一些自定义配置,比u数据库相关信 ...
- SpringBoot简要介绍
一 SpringBoot介绍 1.1 先从Spring谈起 我们知道Spring是重量级企业开发框架 Enterprise JavaBean(EJB) 的替代品,Spring为企业级Java开发提供了 ...
- [置顶] API相关工作过往的总结之整体介绍
此系列的总结文章,仅仅是我个人工作总结,有考虑不周之处还请各位同行多多指教. API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是 ...
- ZooKeeper系列(1) 整体介绍(转)
原文地址:https://www.cnblogs.com/wuxl360/p/5817471.html 一.分布式协调技术 在给大家介绍ZooKeeper之前先来给大家介绍一种技术——分布式协调技术. ...
- Spark Streaming之一:整体介绍
提到Spark Streaming,我们不得不说一下BDAS(Berkeley Data Analytics Stack),这个伯克利大学提出的关于数据分析的软件栈.从它的视角来看,目前的大数据处理可 ...
随机推荐
- JVM 优点与缺点的深入分析
Java 最初诞生的时候,它可以说是其他语言的进化版.不仅因为Java很简单,而且这一进化的语言还是一个可以运行第三方硬件字节码的虚拟机.它还是垃圾收集站,从而令存储管理和内核转储(core dump ...
- C# 方法 虚方法的调用浅谈 引用kdalan的博文
我们在面试中经常碰到有关多态的问题,之前我也一直被此类问题所困扰,闹不清到底执行哪个方法. 先给出一道简单的面试题,大家猜猜看,输出是? public class A { ...
- Farseer.net轻量级ORM开源框架 V1.2.1版本升级消息
提交版本V1.2.11.修复实体未设置主键时,无法找到主键ID字段,改为无主键时默认为"ID”字段2.新增:SqlServer2000Provider数据库驱动3.新增:DbContextI ...
- Zend Studio 服务器根目录设置
在 Apache 服务器根目录里查找 \conf\httpd.conf 例如:C:\AppServ\Apache24\conf\httpd.conf 打开后查找 DocumentRoot 标记 修改调 ...
- scws分词配置
1.下载安装包 wget -q -O - http://www.xunsearch.com/scws/down/scws-1.2.3.tar.bz2 | tar xjf - 2.进入源码目录配置和编译 ...
- PyTorch学习笔记——softmax和log_softmax的区别、CrossEntropyLoss() 与 NLLLoss() 的区别、log似然代价函数
1.softmax 函数 Softmax(x) 也是一个 non-linearity, 但它的特殊之处在于它通常是网络中一次操作. 这是因为它接受了一个实数向量并返回一个概率分布.其定义如下. 定义 ...
- 洛谷——P3918 [国家集训队]特技飞行
P3918 [国家集训队]特技飞行 神犇航空开展了一项载客特技飞行业务.每次飞行长N个单位时间,每个单位时间可以进行一项特技动作,可选的动作有K种,每种动作有一个刺激程度Ci.如果连续进行相同的动作, ...
- php扩展1:filp/whoops(用于调试,方便定位错误点)
一.composer下载filp/whoops: 1.在composer.json中添加:"filp/whoops": "*",如下所示: 2.执行compos ...
- stark组件之显示页面内容搭建(六)
之前主要介绍了前端页面list_fiter功能的显示,但是list_display功能的展示并没有过多介绍,这里介绍一下是如何实现的. 可以看到凡是蓝线圈起来的都是通过字段名反射一个个取出来的,红线的 ...
- 绑定IP 绑定设备
首先引别人的组播测试如下 1. 一个udp client可以同时往多个组播地址发送数据,多个udpclient可以同时往一个组播发数据. 2. 本地udp必须监听组播端口,否则收不到数据.3. 一个u ...