1.什么是sprint boot
由Pivotal团队提供的全新框架,设计目的是用来简化新Spring应用的初始搭建和开发过程。该框架使用了特定的方式配置,从而使开发人员不再需要定义样板化的配置。(sprint boot其实不是什么新框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,springboot整合了所有的框架。)
spring由于复杂配置,各种xml,annotation注解等,繁杂出错也很难定位,sprintboot就是为了解决繁杂和最大化事先convention over configuraion(约定大于配置)
特性:
1.chaungjainduli的spring应用程序;
2.嵌入式Tomcat,Jetty等容器,不许不是war包
3.简化maven和gradle配置
4.尽可能自动化配置spring
5.直接植入产品环境下的实用功能,度量指标、健康检查和扩展配置。
6.无需代码生成及XML配置
2.优点:简单方便快捷
1.纯JAVA的配置方式,很简单,很方便
2.配合各种starter使用,基本上可以做到自动化配置
3.配合Maven或Gradle等构件工具打成Jar包后,Java -jar 进行部署运单
缺点
1..自动化配置导致有些不适用于自己所想,就要到javaconfig文家中覆盖原有的默认配置2想深入了解springboot需要多了解相关文档和源码
一个传统的应用springweb启动:
1.配置web.xml,加载spring和springMVC
2.配置数据库连接,配置spring事务
3.配置加载配置文件的读取,开启注解
4.配置日志文件
配置完成后tomcat部署启动
对于现在非常流行的微服务来说,这样来回折腾耗费大量的时间精力再重复工作中。
springboot用很少的时间和精力,简单的配置就可以迅速搭建起来一套web项目和构建一个微服务。
spring boot项目结构:
com
-project
--Application.java
-domain
--User.java
--UserDao.java
-service
--UserService.java
-controller
--UserController.java
1.Application.java 存放在项目根目录下,配置框架,main方法
2.domain存放实体和数据访问层
3.service层业务层
4.controller控制层
pom.xml文件:
1.添加web模块
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
pom.xml默认有两个默认的模块:
spring-boot-starter:核心模块,包括自动配置支持,日志和YAML
spring-boot-starter-test:测试模块,Jnuit,Hamcrest,MockIto
spring-boot-starter-web为我们提供了最基础的嵌入的Tomcat和SpringMVC依赖,此外还有模板引擎,比如FreeMarker, Groovy, Thymeleaf. Velocity和Mustache。推荐使用Thymeleaf,在使用过程中,通过ThymeleafAutoConfiguration类对继承所需要的bean进行配置
除了最基础的web简化封装,还提供一系列的以来报将其他一些工作做成开箱即用。
spring-boot-starter-web:web开发,tomcat,springMVC和模板引擎
spring-boot-starter-mail:javax.main支持;
spring-boot-starter-ws:webservice
spring-boot-starter-test:测试用例
spring-boot-starter-actuator:产品环境下功能,健康检查,指标度量等
spring-boot-starter-jetty:(tomcat)内嵌容器;
spring-boot-starter-log4j:logback日志框架
2.编写controller内容:
@RestController
public class HelloController{
@RequestMapping(/hello)
public String index(){
return "hello";
}
}
@RestController的意义就是controller里面的方法都是json格式输出,不用配置json输出格式。
3.单元测试
打开src/test 测试入口,编写简单的http请求来测试;使用mockmvc进行,利用MockMvcResultHandlers.print()打印执行结果。
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = MockServletContext.class)
@WebAppConfiguration
public class HelloControllerTest{
private MockMvc mvc
@Before
public void setUp throws Exception{
mvc = MockMvcBuilders.standaloneSetup(new HelloController()).build();
}
@Test
public void testHello() throws Exception{
mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON).andExpect( MockMvcResultMatches.status().isOK()).andDo(MockMvcHandlers.print()).andReturn();
}
}
使用sprintboot可以非常方便、快速的搭建项目,是我们不用关心框架之间的兼容性和试用版本问题,使用任何东西只需要加一个配置就可以。
相关推荐
sprint boot redis 工具类,RedisTemplate 的使用案例
在 "sprintboot-master_surefh5_DEMO_springboot简单Demo_" 这个压缩包中,我们很显然会找到一个 Spring Boot 的示例项目,用于演示如何搭建和使用 Spring Boot 平台。 首先,"sprintboot-master" 可能是项目的主要...
"sprintboot-mailsprintboot-mailsprintboot-mail"这个标题暗示了我们将探讨的是Spring Boot集成邮件服务的相关内容。Spring Boot简化了配置过程,使得发送邮件变得极其简单。"sprintboot_mailsprintboot_mail"的...
MyBatis-Spring-Boot 是一个整合了MyBatis与Spring Boot的项目模板,它旨在简化后台开发人员在新工作中快速构建企业级服务器端架构的过程。这个工程已经配置完善,可以直接在IntelliJ IDEA(IDEA)中导入并进行打包...
【标题】"sprintboot-strategy-pattern-demo-master.zip" 是一个使用Spring Boot技术实现的策略模式示例项目,它提供了一种快速理解并应用策略模式的开箱即用的体验。 【描述】"基于springboot做了一个策略模式的...
Spring Boot是一种快速开发框架,由Pivotal团队创建,它简化了Spring应用程序的初始设置和配置,使得开发者能够更专注于业务代码的编写。在Spring Boot中集成JPA(Java Persistence API)可以方便地进行数据库操作,...
基于SprintBoot的快递代拿系统源码+项目使用说明.zip 【技术栈】 前端: Thymeleaf、Bootstrap、Ajax、JQuery 开发环境: IDEA 、SpringBoot 2.1、Maven 数据库与缓存:MySQL 5.7、Redis、Guava Cache 三方服务:...
spring boot demo,整合netty5实现高并发websocket,并引入slf4g+lombok,采用maven形式; 直接导入运行,有测试页面也有实现代码及详细注释,src/main/webapps/TestNettyWebSocket.html里第十行改成 ws://localhost...
JSP+SQL车辆管理系统(SprintBoot) Java版本:1.8 数据库:MySQL 框架:Spring + Spring MVC + MyBatis 服务器:Tomcat 前端解析框架:Thymeleaf 开发工具:Idea 2017 版本管理工具:Maven 版本控制工具:GitHub ...
在牛客社区的讨论区模块开发中,技术栈采用了Sprint Boot、Spring MVC、Mybatis以及Ela。这个组合提供了高效、稳定且可扩展的后端架构,为用户提供了丰富的功能和良好的性能。 首先,Sprint Boot是Spring框架的一个...
总结来说,"sprintboot-config.rar"这个压缩包可能包含了一个关于如何在Spring Boot应用中集成Zookeeper作为配置中心的示例或者指南。通过这种方式,开发者可以更好地理解和实践如何在去中心化的环境中实现灵活的...
"Java项目之sprintboot自媒体社区平台(源码)" 是一个基于Java技术栈,特别是Spring Boot框架构建的自媒体社区平台的源代码项目。标题表明这个项目是面向开发者的,提供了完整的源代码,可以让开发者学习、研究或者在...
项目整体基于SprintBoot 2.1.5,模块间的通信基于**Protobuf**作为通信协议、**GRPC**作为远程调用服务,使用Spring AOP和 log4j2作为日志系统,包括实现了基于Redis缓存的单点登录系统,基于Netty、Protobuf、...
Sprintboot+Vue在线音乐平台.zip
基于sprint boot WebMagic 实现 微信公众号文章、新闻等网站文章爬取详细文档+资料齐全.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行...
基于SprintBoot+MySQL开发实现的智慧工地监控管理系统java完整源码+数据库+项目说明 主要功能 (1)基于SDK智能分析类接口,调用相机本身的人脸识别业务、行为识别功能 (2)监管模块:调用相机第三方APP智能元数据...
sprint boot JdbcTemplate MyBatis JPA多数据源配置xmind
sprint boot 实战 高清,纯文本。本书以 Spring 应用程序开发为中心, 全面讲解如何运用 Spring Boot 提高效率, 使应用程序的开发和管 理更加轻松有趣。作者行文亲切流畅,以大量示例讲解了 Spring Boot在各类情境...
学生 信息 管理系统 Java web JQuery HTML5 Bootstrap SprintBoot HTML5 + CSS3 + JavaScript + Bootstrap + Jquery MySql SpringMVC