zoukankan      html  css  js  c++  java
  • 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);
    }
    }
  • 相关阅读:
    创建索引
    列出所有的索引
    查看集群节点api
    集群健康检查api
    mapping 映射
    Elasticsearch 版本控制
    四种常见的 POST 提交数据方式
    HttpPost 传输Json数据并解析
    基本概念
    信用卡年轻消费群体数据分析和洞察报告
  • 原文地址:https://www.cnblogs.com/wood-life/p/10297915.html
Copyright © 2011-2022 走看看