SpringBoot介绍及应用搭建

更多内容参见个人技术博客,无广告欢迎关注

1           SpringBoot全新开发方式+部署+整合

1.1         介绍

1.1.1      定义

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。Spring Boot 现在已经成为Java 开发领域的一颗璀璨明珠,它本身是包容万象的,可以跟各种技术集成。成为SpringBoot全家桶,成为一把万能钥匙。

 

1.1.2      特点

创建独立的Spring应用程序

嵌入的Tomcat,无需部署WAR文件

简化Maven配置

自动配置Spring

提供生产就绪型功能,如指标,健康检查和外部配置

1.2         SpringBoot全新的pom.xml

1.2.1      生成pom.xml的页面

Spring官方支持SpringBoot提供的项目框架生成页面

https://start.spring.io/

 

 

1.2.2      选择支持的依赖

这里不用官网生成的项目,采用Idea生成项目,原理跟官网一样。

 

配置JRE运行环境

 

 

新建项目

 

 

1.2.3      导入生成的项目

 

 

1.3         第一个SpringBoot例子

1.3.1      创建Maven工程

创建Maven工程,创建simple project,类型为jar

Maven仓库 https://mvnrepository.com/ 所以开源的第三方依赖均可在这里找到,搜索spring

 

修改jdk版本必须1.8以上,springboot基本上废除了1.61.7

 

 

1.3.2      全新构建方式pom.xml

传统构建Maven项目,pom中的依赖包繁多,升级一个jar版本时,会引发新的冲突,调试许久。而SpringBoot接管了jar的版本,它构建好一套,这套中各jar的版本已经测试好,开发者再无需去关注每个依赖包的版本及冲突问题,从而简化开发。

再者,它启动也非常快,直接运行一个类,使用tomcatmaven插件。开发调试时效率提高。

 

<?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>
   
<!-- 父工程是SpringBoot,可见Maven工程是可以继承的 -->
   
<parent>
        <groupId>
org.springframework.boot</groupId>
        <artifactId>
spring-boot-starter-parent</artifactId>
        <version>
2.1.2.RELEASE</version>
        <relativePath/>
    </parent>
    <groupId>
com.company</groupId>
    <artifactId>
hello</artifactId>
    <version>
0.0.1-SNAPSHOT</version>
    <name>
hello</name>
    <description>
Demo project for Spring Boot</description>

    <properties>
        <project.build.sourceEncoding>
UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>
UTF-8</project.reporting.outputEncoding>
       
<!-- 必须选择1.8 -->
       
<java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>
org.springframework.boot</groupId>
           
<artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies
</project>

 

1.3.3      创建HelloController

使用@RestController替代@Controller@ResponseBody(返回json串)

package com.company.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

@RequestMapping("hello")
public String hello(){
return "hello springboot";
}
}

1.3.4      全新运行方式

注意:必须加@SpringBootApplication注解,同时必须有包名

 

package com.company.hello;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class HelloApplication {

public static void main(String[] args) {
SpringApplication.run(HelloApplication.class, args);
}
}

1.4         拓展:热部署支持

1.4.1      pom.xml增加依赖

<!-- 热部署支持 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>

 

1.4.2      修改controller

修改为RESTFul形式,保存时,SpringBoot会自动更新

package com.company.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

@RequestMapping("hello/{name}")
public String hello(){
return "hello springboot";
}

1.5         直接运行jar启动web服务

1.5.1      pom.xml

pom.xml中增加plugin插件,忘记加会报“清单找不到”异常。

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

 打包

 

1.5.2      执行jar

进入到jar所在路径,然后执行java直接运行jar文件,启动web服务

java -jar hello-0.0.1-SNAPSHOT.jar

 

 默认8080端口

表示启动成功可以访问了。

1.6         拓展:打war包手动部署

1.6.1      pom.xml

 

1.6.2      WebApplication

继承SpringBootServletInitializer覆盖基类的configure方法

package com.company.hello;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

@SpringBootApplication
public class WebApplication extends SpringBootServletInitializer {

@Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return super.configure(builder);
}

public static void main(String[] args) {
SpringApplication.run(WebApplication.class, args);
}
}

 

posted @ 2019-01-21 11:33  一只特立独行的程序猿  阅读(554)  评论(0编辑  收藏  举报