最近在学习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):
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
第二步:设置项目项目名,开发语言,java版本信息等,然后Next,如图1-03
第三步:选择项目类型,这里我选择的是web->Spring Web 如图1-04
第四步:选择项目的存放路径,点击Finish,项目就创建好了。如图1-05
Spring 官网创建:
地址:https://start.spring.io/ 打开这个地址就会看到图1-06
注意点:需要点击ADD DEPENDENGCIES 选择Spring Web 如图 1-07
然后点击GENERATE(生成并下载),然后用IDEA导入工程就可以了
Maven工程创建:
其实Spring Boot项目 说白了就是一个Maven项目,就是多了Spring Boot的一些配置,所以
这种创建方式其实就是在IDEA中先创建一个Maven工程,然后添加Spring Boot的依赖,然后手动创建项目启动类(比如类名为:DemoApplication)在类上面加一个注解 @SpringBootApplication,然后在这个Java类中写一个main方法,里面写一句代码:
SpringApplication.run(DemoApplication.class, args);
三.总结
Spring Boot 框架博大精深,文章中只是写了一个最最最简单的用法,有什么写的不对的地方,欢迎各位大神不吝赐教。
一边学习,一边记录总结,认真学习,不负韶华,加油!!!