SpringBoot 入门快速搭建项目
一、了解 SpringBoot
1、SpringBoot 是什么?
SpringBoot 是一个快速开发框架,能够帮助我们快速整合第三方常用框架(Maven 依赖继承关系),完全采用注解化,简化XML配置,内置嵌入Http服务器(Tomcat、Jetty),默认嵌入Tomcat服务器。最终以Java应用程序进行执行(java -jar)。
SpringBoot 项目中没有web.xml
2、SpringBoot 与 SpringMVC 的关系?
SpringBoot Web 组件集成SprinMVC框架,但是Spring Boot启动SpringMVC的时候没有传统的配置文件,它是如何来启动SpringMVC?
SpringMVC 在3.0 之后支持注解方式启动SpringMVC(使用Java代码启动SpringMVC)。
3、SpringBoot 与 SpringCloud 的关系?
SpringCloud 是一套目前较完整的微服务解决框架,功能非常强大。注册中心、客户端调用工具、服务治理等。
关系:
SpringBoot + SpringCloud 是微服务开发
微服务通讯技术 http+json(restful) 轻量级
SpringBoot Web组件默认集成SpringMVC,SpringCloud 依赖于SpringBoot 实现微服务,使用SpringMVC编写微服务接口。
4、spring boot优缺点:
优点:
快速构建项目
对主流的开发框架的无配置集成
项目可以独立运行,无须外部依赖servlet容器
提供运行时的应用监控
极大的提高了开发、部署效率
与云计算的天然集成
缺点:
入门易,精通难,它没有增强spring的功能,只是帮我们做了很多本需要我们自己做的配置整合工作,本质还是我们以前学习的那些框架知识的应用。
二、快速搭建一个项目
我的开发环境:
IntelliJ IDEA 2018
JDK 8
Maven 3.5.4
SpringBoot 2.1.4
Spring 官网学习:https://spring.io/projects
1、idea快速创建spring boot项目:
使用Spring Initializr
注意1:需要联网
注意2:resources里的目录结构:
1)static:是用来存放静态资源的,比如css,js,img....;
2)templates:用来存放freemarker或者thymeleaf的模板
3)application.properties: SpringBoot的配置文件,(可以修改SpringBoot的默认配置)
2、项目创建好之后:
pom.xml 可以看到SpringBoot 通过 Maven依赖继承关系 帮我们引入了 自己使用的框架
<?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>
<!-- spring-boot-starter-parent 整合第三方常用框架依赖信息-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>cn.jq.springbootdemo1</groupId>
<artifactId>springbootdemo1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springbootdemo1</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!-- spring-boot-starter-web 是 SpringBoot 整合 SpringMVC Web组件,实现原理:Maven依赖继承关系-->
<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>
创建一个IndexController
程序入口主类:Springbootdemo1Application
注意:
1)注解 @SpringBootApplication 声明这个类是主类,是spring boot的执行的入口。
2)SpringApplication.run(Springbootdemo1Application .class, args);
让spring boot知道Springbootdemo1Application 所在的包以及这个包下的所有子包,是spring的扫描组件范围,只有在这个范围的controller,service,dao里的组件类才能被spring扫描到,并且初始化对象,放入到spring的ioc容器里!
@SpringBootApplication
public class Springbootdemo1Application {
public static void main(String[] args) {
SpringApplication.run(Springbootdemo1Application.class, args);
}
}
简单和快速搭建 ok
3、打包发布测试,因为pom.xml中引入了maven的插件,可以直接用maven打包
打出的jar包,可以直接用 java -jar xxxx.jar 命令运行!然后一样可以访问
end ~