当前位置: 首页 > news >正文

Spring Boot 和Spring Data

转载别人的,只是为了记录一下,方便以后看

1. 什么是springboot
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

spring大家都知道,boot是启动的意思。所以,spring boot其实就是一个启动spring项目的一个工具而已。从最根本上来讲,Spring Boot就是一些库的集合,它能够被任意项目的构建系统所使用。

 

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. 优点
4.1 使编码变得简单
spring boot采用java config的方式,对spring进行配置,并且提供了大量的注解,极大地提高了工作效率。

4.2 使配置变得简单
 

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

5. 相关技术
5.1 微服务架构
微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。

比如我要开发一个购票系统。就可以简单的拆分为用户管理微服务和售票系统微服务。两个服务都可以独立运行,都有自己的数据库,他们之间通过restapi 进行通信。

而spring boot就是搭建微服务的一个很好的选择。

5.2 restful
restful 是一种api的风格,后面的文章里,会着重讲解。spring boot可以很方便的提供restful 风格的api。

 

Spring Data

spring Data 项目的目的是为了简化构建基于 Spring 框架应用的数据访问计数,包括非关系数据库、Map-Reduce 框架、云数据服务等等;另外也包含对关系数据库的访问支持。


      Spring Data 作为SpringSource的其中一个父项目, 旨在统一和简化对各类型持久化存储, 而不拘泥于是关系型数据库还是NoSQL 数据存储。

      SpringData是一个用于简化数据库访问,并支持云服务的开源框架。

      主要目标是使得数据库的访问变得方便快捷,并支持map-reduce框架和云计算机数据服务。

      支持基于关系型数据库的数据服务,如OracleRAC等。

      对于拥有海量数据的项目,可以用SpringData来简化项目的开发,就如Spring Framework对JDBC,ORM的支持一样,SpringData会让数据访问变得更加方便。

2.SpringDate的模块是什么


无论是哪种持久化存储, 数据访问对象(或称作为DAO,即Data Access Objects)通常都会提供对单一域对象的CRUD (创建、读取、更新、删除)操作、查询方法、排序和分页方法等。Spring Data则提供了基于这些层面的统一接口(CrudRepository,PagingAndSortingRepository)以及对持久化存储的实现。
 

 

3.Spring Data 包含多个子项目:

  • Commons - 提供共享的基础框架,适合各个子项目使用,支持跨数据库持久化

  • Hadoop - 基于 Spring 的 Hadoop 作业配置和一个 POJO 编程模型的 MapReduce 作业

  • Key-Value  - 集成了 Redis 和 Riak ,提供多个常用场景下的简单封装

  • Document - 集成文档数据库:CouchDB 和 MongoDB 并提供基本的配置映射和资料库支持

  • Graph - 集成 Neo4j 提供强大的基于 POJO 的编程模型

  • Graph Roo AddOn - Roo support for Neo4j

  • JDBC Extensions - 支持 Oracle RAD、高级队列和高级数据类型

  • JPA - 简化创建 JPA 数据访问层和跨存储的持久层功能

  • Mapping - 基于 Grails 的提供对象映射框架,支持不同的数据库

  • Examples - 示例程序、文档和图数据库

  • Guidance - 高级文档

相关文章:

  • centos7使用docker下安装mysql并配置
  • 数组 找出重复的数字(不修改数组)
  • 加入强调语气,使用strong和em标签
  • java内置了优先队列PriorityQueue
  • Hadoop和分布式系统
  • c++ 指向类成员函数的函数指针
  • 数组流中的中位数
  • Java——观察者模式实例
  • 连续子数组的最大和
  • 礼物的最大价值
  • 最长不含重复字符的字符串
  • Mac下JDK的安装的配置
  • 第二阶段个人总结09
  • java并发
  • idea中Spring报错Exception in thread main java.lang.ClassCastException
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • Java程序员幽默爆笑锦集
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • MQ框架的比较
  • nodejs实现webservice问题总结
  • Objective-C 中关联引用的概念
  • React系列之 Redux 架构模式
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 使用SAX解析XML
  • 新手搭建网站的主要流程
  • 在weex里面使用chart图表
  • 正则表达式小结
  • 自动记录MySQL慢查询快照脚本
  • elasticsearch-head插件安装
  • 浅谈sql中的in与not in,exists与not exists的区别
  • ​iOS实时查看App运行日志
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • #100天计划# 2013年9月29日
  • #大学#套接字
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • $L^p$ 调和函数恒为零
  • (02)Hive SQL编译成MapReduce任务的过程
  • (1)Nginx简介和安装教程
  • (C++)八皇后问题
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (二)WCF的Binding模型
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (过滤器)Filter和(监听器)listener
  • (论文阅读40-45)图像描述1
  • (南京观海微电子)——I3C协议介绍
  • (数据结构)顺序表的定义
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (转)visual stdio 书签功能介绍
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)