Spring Boot 学习记录

最近在学习SpringBoot后端框架,把自己学习的东西记录一下,跟我一样对Spring Boot 感兴趣的小伙伴欢迎一起学习,一起讨论。


一.认识SpringBoot

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

Spring的概述:

Spring基于IOC和AOP两个特性对Java开发本身进行了大大的简化。Spring是J2EE的轻量级替代品,无需开发重量级的EJB,Spring通过依赖注入和面向切面编程,用简单的Java对象POJO实现EJB的功能。
名词解释: IOC:Inversion of Control 控制反转,还有一个名字叫DI:Dependency Injection即依赖注入,所谓IOC ,就是由Spring IOC 负责对象生命周期和对象之间的关系。AOP:Aspect Oriented Programming 面向切面编程,是一种编程思想,是面向对象编程OOP 的一种补充。面向对象编程是将程序抽象成为各个层次的对象,面向切面编程是将程序抽象成各个切面。J2EE: Java 2 platform EnterPrise Edtion 适用于常见服务器应用程序。

关于EJB:

首先EJB是为了“服务集群”和“企业级开发”,那么EJB到底是个什么东西,首先我们先来看看官方给出的定义:商务软件的核心部分是它的业务逻辑,业务逻辑抽象了整个商务软件的流程,并使用计算机语言将他们实现。Sun公司给出的定义:是基于分布式事务处理的企业级应用程序组件,用于开发和部署多层结构的、分布式的、面向对象的JAVA应用系统的跨平台的构件体系机构。

J2EE对EJB的应用就是 将业务逻辑从客户端软件中抽取出来封装在一个组件中,这个组件运行在一个独立的服务器上 ,客户端软件通过网络调用组件提供的服务实现业务逻辑。而客户端软件简单到只负责网络请求和页面展示和处理结果。而这个运行在独立服务器上,封装了业务逻辑的组件就是EJB。而EJB的是由RMI为基础(RMI)远程方法调用。

Spring  VS  SpringBoot:

Spring组件代码是轻量级的,但它的配置是重量级的。比如一个WEB项目,至少要集成MVC框架、Tomcat这种WEB容器、日志框架、链接数据库要链接线程池 等等。也就是说 使用Spring的话每集成一个组件都要先去写它的配置文件,比较繁琐并且容易出错。所以就有了SpringBoot。
SpringBoot对Spring的缺点进行了改善和优化,基于约定优于配置的思想,可以让开发人员不必在配置与业务逻辑之间进行思维的切换,全身心的投入到业务逻辑代码的编写中,从而大大提高了开发效率,一定程度上缩短了开发周期。

SpringBoot的特点:

1.独立运行的Spring项目:SpringBoot可以以jar包的形式独立运行,运行一个SpringBoot项目只需要通过java-jar来运行。
2.内嵌Servlet容器:SpringBoot可以选择内嵌Tomcat,Jetty或者UnderTow,这样我们不要以war包形式部署项目。
3.提供Starter,简化Maven配置:Spring提供了一系列的 Starter Pom来简化Maven的依赖加载。
4.自动配置Spring:SpringBoot会根据在类路径中的jar 包、类,为jar包中的类自动配置Bean,这样会极大的减少我们要使用的配置,当然,SpringBoot也只是考虑了大多数的开发场景,并不是所有的场景都顾及的到,所以在实际开发中我们需要自动配置Bean,而SpringBoot没有提供支持,则可以自定义自动配置。
5.准生产的应用监控:SpringBoot提供基于http、ssh、telnet对运行时的项目进行监控。
6.无代码生产和xml配置:SpringBoot的神奇不是借助于代码生成来实现的,而是通过条件注解来实现的,这是Spring 4.x提供的新特性。Spring 4.x提倡使用java配置和注解配置组合,而SpringBoot 不需要任何xml配置即可实现Spring的所有配置。

Spring Boot 的优缺点:

优点:快速构建项目,对主流开发框架的无配置集成,项目可独立运行,无需外部依赖Servlet容器,提供运行时的应用监控,极大提高了开发部署效率。与云计算的天然集成。
缺点:版本迭代速度快,一些模块改动大。由于不用自己做配置,报错很难准确定位。

二.Spring Boot 项目搭建

环境搭建:

1.jdk下载,下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html  需要配置环境变量
2.开发工具(IDEA 下载)下载地址:https://www.jetbrains.com/products.html#type=ide注意:官网下载需要破解,破解工具教程网上好多。
3.Maven下载,下载地址:http://maven.apache.org/download.cgi
注意看自己的系统,mac/linux 下载.gz,windows下载.zip  需要配置环境变量
4.Maven配置文件修改,一般公司都有自己的私有仓库,配置好就可以了,记得在idea里面应用一下,idea中应用配置如下图(1-01):

1-01

5.安装mysql  下载地址:https://dev.mysql.com/downloads/mysql
这里需要注意一下,安装mysql 的过程中需要设置用户名密码,千万要记着,要不然会很麻烦
mysql的常用命令我会单独写一篇文章来记录,这里先不说了。

创建Spring Boot 项目:

创建方式有三种:
1.IDEA创建(推荐使用这种创建方式)
2.Spring官网
3.Maven

IDEA创建:
第一步:File->New->Project->选择Spring Initiallzr->Project Sdk(JDK的版本)选1.8,然后点击 Next 具体操作页面如图1-02

1-02

第二步:设置项目项目名,开发语言,java版本信息等,然后Next,如图1-03

1-03

第三步:选择项目类型,这里我选择的是web->Spring Web 如图1-04

1-04

第四步:选择项目的存放路径,点击Finish,项目就创建好了。如图1-05

1-05


Spring 官网创建:

地址:https://start.spring.io/ 打开这个地址就会看到图1-06
注意点:需要点击ADD DEPENDENGCIES 选择Spring Web 如图 1-07
然后点击GENERATE(生成并下载),然后用IDEA导入工程就可以了


1-06


1-07

Maven工程创建:

其实Spring Boot项目 说白了就是一个Maven项目,就是多了Spring Boot的一些配置,所以
这种创建方式其实就是在IDEA中先创建一个Maven工程,然后添加Spring Boot的依赖,然后手动创建项目启动类(比如类名为:DemoApplication)在类上面加一个注解 @SpringBootApplication,然后在这个Java类中写一个main方法,里面写一句代码:
SpringApplication.run(DemoApplication.class, args);

三.总结

Spring Boot 框架博大精深,文章中只是写了一个最最最简单的用法,有什么写的不对的地方,欢迎各位大神不吝赐教。
一边学习,一边记录总结,认真学习,不负韶华,加油!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,014评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,796评论 3 386
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,484评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,830评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,946评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,114评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,182评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,927评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,369评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,678评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,832评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,533评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,166评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,885评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,128评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,659评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,738评论 2 351

推荐阅读更多精彩内容