概述SpringBoot框架
Spring Boot是由Pivotal团队提供的全新框架,其设计⽬的是⽤来简化新Spring应⽤的初始搭建以及开发 过程。该框架使⽤了特定的⽅式来进⾏配置,从⽽使开发⼈员不再需要定义样板化的配置,⽽专注于业 务逻辑的编程。 SpringBoot并不是⼀个新的技术框架,主要作⽤是简化spring应⽤的开发,依赖【约定优于配置】的核 ⼼思想,只需要通过少量代码就可以创建⼀个产品级的Spring应⽤,并可以达到开箱即⽤的⽬标约定优于配置是⼀种软件设计范式,⽬的在于减少配置的数量或者降低理解难度。⽇常⼯作中,开 发规范可以在⼀定程度上减少bug数量,增加可读性和可维护性。
SpringBoot的约定优于配置主要体现在 1、maven⽬录结构的约定 2、SpringBoot默认的配置⽂件以及配置⽂件中配置属性的约定。
springboot是啥3、对于SpringMVC的依赖⾃动依赖内置的Tomcat容器。
4、对于starter组件⾃动完成装配 SpringBoot四⼤核⼼
1、⾃动配置auto-configuration针对很多Spring应⽤程序常见的应⽤功能,Spring Boot能⾃动提供相 关配置。
2、起步依赖starters告诉Spring Boot需要什么功能,它就能引⼊需要的库。
3、命令⾏界⾯cli这是Spring Boot的可选特性,借此你只需写代码就能完成完整的应⽤程序,⽆需传统 项⽬构建
4、Actuator是spring boot提供的对应⽤系统的⾃省和监控的集成功能,可以对应⽤系统进⾏配置查 看、相关功能统计等。SpringBoot的特性
1、创建独⽴Spring应⽤程序。
2、嵌⼊式Tomcat,Jetty容器,⽆需部署WAR包。
3、简化Maven及Gradle配置。
4、尽可能的⾃动化配置Spring。
5、直接植⼊产品环境下的实⽤功能,⽐如度量指标、健康检查及扩展配置等。
6、⽆需代码⽣成及XML配置 SpringBoot优点 使编码变简单、提供⼀个starter POMs使配置变简单、内置Tomcat和Jetty容器,使部署变简单、提供 了⼀系列⼤型项⽬中常见的⾮功能性特性使监控变简单 SpringBoot缺点 版本更新较快,可能出现较⼤变化;因为约定⼤于配置,所以经常会出现⼀些很难解决的问题 SpringBoot适⽤场景 SpringBoot就是SpringMVC简化配置的⼀个具体体现,其实只要是spri
ng适合的业务场景都适合,并且 也不⽤考虑作为新技术导致的技术不确定性,因为SpringBoot实际就是Spring MVC的⼀种展现⽅式,特 别适合业务并不成熟的新兴互联公司、喜欢追求新技术与优雅编程体验的公司和个⼈、具有极客精神的 公司和个⼈或者⼩型外包团队、基于云服务的软件提供商。 当然并不适应那些技术沉淀多年的⼤型开发团队,因为,同样也没有⼈愿意,将⾃⼰写了⼤把的xml⽂ 件删掉。
Hello SpringBoot
2、pom⽂件—maven
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="/POM/4.0.0" xmlns:xsi="/2001/XMLSchema-instance"
xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
所有的springBoot项⽬需要依赖于spring-boot-starter-parent,[不过不能依赖可以使⽤import导⼊]。引⼊spring-boot-dependencies可以提供版本仲裁。如果不使⽤版本仲裁也允许开发者⾃⾏定义版本号
不使⽤版本仲裁也允许开发者⾃⾏定义版本号
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.6</version>
<relativePath/><!-- lookup parent from repository -->
</parent>
<groupId>com.d</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo513-22</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!-- mvnrepository/artifact/at.embed/tomcat-embed-core --> <dependency>
<groupId>at.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<version>9.0.46</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId&batis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
<dependency>
<groupId&acle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</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>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</build>
</project>
3、主类
主类⽤于启动当前的SpringBoot应⽤,主类其实就是⼀个包含main⽅法的类,这个类上必然有⼀个注解 @SpringBootApplication
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args){
SpringApplication.run(DemoApplication.class, args);
}
}
4、核⼼配置⽂件 src/main/resources/application.properties
springBoot中的核⼼配置⽂件有properties和yaml两种不同的格式,建议使⽤l
配置服务器对应的端⼝号,key是springBoot中提供的标准配置名
server.port=9999
5、定义Controller类
需要SpringBoot⾃动扫描,所以将类定义在主包或者其⼦包中,不能是其它位置
package;
import RequestMapping;import RestController;
@RestController
public class HelloController {
@RequestMapping("/hello")
public String sayHello(String username){
if(username==null|| im().length()<1) username="SpringBoot";
String msg="Hello "+username+"!";return msg;
}
}
6、运⾏主类则可以启动应⽤,不需要额外安装服务器
单元测试
JUnit是⼀个Java语⾔的单元测试框架。它由Kent Beck和Erich Gamma建⽴,逐渐成为源于Kent Beck的 sUnit的xUnit家族中为最成功的⼀个。 JUnit有它⾃⼰的JUnit扩展⽣态圈。
xUnit是⼀套基于测试驱动开发TDD的测试框架,其中的断⾔机制:将程序预期的结果与程序运⾏的最终 结果进⾏⽐对,确保对结果的可预知性
被测试程序—业务类
spring要求⾯向接⼝编程
public interface HelloServ {
public int add(int k1,int k2);
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论