Springboot(一)springboot简介与入门程序
一、springboot简介:
对spring框架盛行了多年的java方向开发人员来说,每个人java开发已经把spring框架当做开发中不可或缺的一部分。
之前传统的模式都是以applicationContext.xml配置文件的形式存在,而对应大多数入门级开发人员来说配置出现一点纰漏就会导致运行失败或者更大的问题,因此会浪费开发人员很多宝贵的时间,对公司来说也是有所损失。那么spring开源组织很早之前就意识到这种问题的存在,于是他们便对spring框架的全系列组件进行了内部封装。对外只是提供maven(jar管理、项目打包工具)或者gradle(新兴jar管理、项目打包工具)的形式来进行引入parent.pom(maven配置文件)或者parent.gradle(gradle配置文件),让每一个spring项目都是以spring的子项目的形式来运行,这样开发人员不用再去注重配置文件的繁琐而是把精力放到业务逻辑以及更深层次的架构方面。自此SpringBoot就诞生了,它有着纯正的开源血统,在此非常感谢spring开源组织给我们java开发人员带来的便利!
![](https://img2018.cnblogs.com/blog/1556518/201907/1556518-20190711173226112-2119286917.png)
二、springboot的特点:
1. 能够快速创建基于Spring的应用程序。(简化配置)
2. 开箱即用,提供各种默认配置来简化项目配置
3 .能够直接使用java的main方法启动内嵌的Tomcat,Jetty服务器运行Spring boot程序,不需要部署war包文件。
4. 基本可以完全不使用xml配置文件,采用注解配置。(或者默认约定的配置,代码中已经实现)
5. 提供一系列大型企业级项目的功能性特性(比如:安全、健康检测、外部化配置、数据库访问、restful搭建……等很多特性)
2. 开箱即用,提供各种默认配置来简化项目配置
3 .能够直接使用java的main方法启动内嵌的Tomcat,Jetty服务器运行Spring boot程序,不需要部署war包文件。
4. 基本可以完全不使用xml配置文件,采用注解配置。(或者默认约定的配置,代码中已经实现)
5. 提供一系列大型企业级项目的功能性特性(比如:安全、健康检测、外部化配置、数据库访问、restful搭建……等很多特性)
![](https://img2018.cnblogs.com/blog/1556518/201907/1556518-20190711173038916-1190963376.png)
注:谈谈微服务
因为微服务需要很多单体服务,我们可以用springboot快速构建。
三、创建springboot工程(保证计算机上的Java的JDK在1.8以上)
(1)、访问start.spring.io网址创建
![](https://img2018.cnblogs.com/blog/1556518/201901/1556518-20190114135956319-1715273525.png)
(2)、利用IDE创建,本文用的是IDEA
1、创建时候进行选择的项
![](https://img2018.cnblogs.com/blog/1556518/201901/1556518-20190114141943523-777466937.png)
![](https://img2018.cnblogs.com/blog/1556518/201901/1556518-20190114142307163-1916585139.png)
![](https://img2018.cnblogs.com/blog/1556518/201901/1556518-20190114142946437-1235138241.png)
![](https://img2018.cnblogs.com/blog/1556518/201901/1556518-20190114143203164-199318634.png)
2、目录详解:
1)/src/main/java/ 存放项目所有源代码目录
2)/src//main/resources/ 存放项目所有资源文件以及配置文件目录
3)/src/test/ 存放测试代码目录
3、自动生成的文件详解:
LessonOneApplication: 该类是程序的入口类内有个main方法,可以直接通过run as运行项目
该类中的注解详解:
@SpringBootApplication: Spring Boot应用标注在某个类上说明这个类是SpringBoot的主配置类,SpringBoot就应该运行这个类的main方法来启动SpringBoot应用;
进入该注解(如果要了解更深,可以进入多层注解):
@SpringBootConfiguration:Spring Boot的配置类;
标注在某个类上,表示这是一个Spring Boot的配置类;
@Configuration:配置类上来标注这个注解;
配置类 —– 配置文件;配置类也是容器中的一个组件;@Component
@EnableAutoConfiguration:开启自动配置功能;
以前我们需要配置的东西,Spring Boot帮我们自动配置;@EnableAutoConfiguration告诉SpringBoot开启自动配置功能;这样自动配置才能生效;
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
application.properties(application.yml): 该配置文件是项目的核心配置文件,以xx.xx.xx的形式存在(全局配置文件,文件名是固定的)
pom.xml: maven配置文件,因为我们采用的maven管理jar,所以这里会自动生成一个pom文件
详细讲解博客:https://blog.csdn.net/l00149133/article/details/78923873
<?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> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.2.RELEASE</version> <relativePath/> </parent> <groupId>com.example</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <name>demo</name> <description>Demo project for Spring Boot</description> <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>
4、controller请求层,以及运行结果
@RestController public class HelloController { @RequestMapping(value = "/index",method = RequestMethod.GET) public String index(){ return "HelloWorld"; } }
四、打成jar包,运行访问
1、导入插件
<!--这个插件可以将应用打包成一个可执行的jar包-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
2、运行
![](https://img2018.cnblogs.com/blog/1556518/201907/1556518-20190711181754200-363095251.png)
3、打包之后,jar包在target文件夹中
4、运行
5、测试