SpringBoot-HelloWorld-02
spring是什么:
是一个开源的框架,轻量级的java开发框架
为了解决企业级的应用开发的复杂性而创建的,简化开发
spring如何简化开发的
- 基于pojo的轻量级和最小侵入式编程,所有的东西都是bean;
- 通过IOC,依赖注入(DI)和面向接口实现松耦合;
- 基于切面(AOP)和惯例进行声明式编程;
- 通过切面和模板减少样式代码;
什么是SpringBoot
- 开发一个web应用最开始接触Servlet结合Tomcat然后就是用框架SpringMVC到现在的SpringBoot,什么是SpringBoot呢?就是一个javaweb的开发框架,和SpringMVC类似,对比其他的框架的好处,简化了开发,约定大于配置,能迅速的开发出web应用,几行代码开发一个http接口;
- 所有的技术框架都遵循了一个主线规律就是从一个复杂的应用场景衍生出一个规范框架,程序员只要进行各种配置而不要自己去实现它,强大的配置成了优点发展到一定的程度后,人们根据实际的生产应用情况,选取其中的实用的功能和设计精华,重构出轻量级的框架;之后为了提高开发效率,嫌弃了各类配置过于麻烦,于是提倡约定大约配置;
- 这就是J2EE->spring->springboot的过程
- SpringBoot基于Spring开发,SpringBoot本身并不提供Spring框架的核心特征以及扩张功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。也就是说,它不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具.SpringBoot以约定大于配置的核心思想,默认帮我们进行了很多的设置,多数的SpringBoot应用只需要很少的Spring配置,同时集成了大量的常用第三方库的配置,几乎是等于开箱即用
- 简单来说就是SpringBoot其实不是新的框架,他是默认配置了很多的框架的使用方式,就像maven整合了所有的jar包应用,springboot整合了所有的框架
SpringBoot的主要优点
- 为所有的spring开发者更快速入门
- 开箱即用,提供了各种默认的配置来简化项目
- 内嵌式容器简化了Web项目
- 没有冗余的代码生成和XML配置的要求
HelloWorld
项目创建
使用IDEA直接创建
- 创建一个新项目
- 选择spring initalizr 可以看到默认就是去灌完快速构建工具中里面实现
- 填写项目信息
- 选择初始化的组件(Web即可)
- 填写项目路径
- 等待成功
项目结构分析
- 程序的主启动类
- 一个application。properties配置文件
- 一个测试类
- 一个prm。xml
pom.xml分析
<!-- 父依赖 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.5.RELEASE</version>
<relativePath/>
</parent>
<dependencies>
<!-- web场景启动器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- springboot单元测试 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<!-- 剔除依赖 -->
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<!-- 打包插件 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
编写一个http接口
- 在主程序的同级目录下面创建一个controller包,必须在同级目录
- 在包中新建一个类HelloController
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello() {
return "Hello World";
}
}
- 完成之后,从主程序(HelloworldApplication)启动项目查看端口号然后就能访问端口号
- 常常用来建立微服务的项目,可以将其打包为jar包,点击右侧maven的package
如果报错
则可以配置打包时跳过项目运行测试用例
<!--
在工作中,很多情况下我们打包是不想执行测试用例的
可能是测试用例不完事,或是测试用例会影响数据库数据
跳过测试用例执
-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<!--跳过项目运行测试用例-->
<skipTests>true</skipTests>
</configuration>
</plugin>
如果打包成功会生成一个jar包,然后就可以在任何地方运行了

浙公网安备 33010602011771号