赞
踩
1)Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者
2)Spring Boot 旨在简化开发,使用SSM整合的小伙伴知道,整合时需要大量的配置信息非常的繁琐,虽然Spring提供了注解驱动的方式,但是依然很繁琐。而且在使用Maven开发的时候需要频繁的将项目打包,使用SpringBoot后就不需要频繁的打包了而且SpringBoot学习的成本也不高,因为SpringBoot是Spring演化过来的,只要有Spring和SpringMVC的基础就能很快的上手。
3)Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。Spring集成多种事务模板,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。Spring的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象。Spring框架最初是没有打算构建一个自己的WebMVC框架,其开发人员在开发过程中认为现有的StrutsWeb框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了SpringMVC。
4)学习SpringBoot的成本并不高,有Spring相关框架的经验就能很快的上手
5)SpringBoot的优势
1.SpringBoot能快速构建web应用
2.SpringBoot使用嵌入式的Servlet容器,无序打成war包
3.starters自动依赖和版本控制
4.大量的自动配置简化配置文件的编写
5.无需编写配置文件开箱即用
6.准生产环境运行时监控
7.与云计算的天然集成
构建的项目
其实导入的就是SpringBoot的启动器,SpringBoot的启动器有44种
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.itguigu</groupId> <artifactId>01-spring-boot</artifactId> <version>1.0-SNAPSHOT</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.7.RELEASE</version> <relativePath/> </parent> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
仅仅几个坐标便将Spring相关的包全部导入了
SpringBoot helloWorld
编写Controller
package com.sxt.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import java.util.HashMap; import java.util.Map; /** * @project_name:hibernate02 * @date:2019/8/22:10:38 * @author:shinelon * @Describe: */ @Controller public class BookController { @RequestMapping("/hello") @ResponseBody public Map<String,Object> bookController(){ Map<String,Object> map = new HashMap<>(); map.put("key","helloWorld"); return map; } }
2.编写启动类
启动类的编写位置,可以和控制器同一个包,启动器一般不能出现和控制器同级别的包中,一般将启动器放在上一级包中,扫描整合项目
package com.sxt.controller; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /** * @project_name:hibernate02 * @date:2019/8/22:10:38 * @author:shinelon * @Describe: */ @SpringBootApplication //注解SpringBootApplication表示当前类为启动类为SringBoot的引导类 public class ApplicationStart { public static void main(String[] args) { SpringApplication.run(ApplicationStart.class,args); } }
访问测试
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。