springboot开发环境搭建

     2022-03-19     671

关键词:

软件152 程永绩

1.什么是springboot:

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。

该框架使用了特定的方式(继承starter,约定优先于配置)来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

Spring Boot并不是一个框架,从根本上将,它就是一些库的集合,maven或者gradle项目导入相应依赖即可使用Spring Boot,而且无需自行管理这些库的版本。

 

 

2.为什么要用spring boot

Spring Boot是为简化Spring项目配置而生,使用它使得jar依赖管理以及应用编译和部署更为简单。Spring Boot提供自动化配置,使用Spring Boot,你只需编写必要的代码和配置必须的属性。

使用Spring Boot,只需20行左右的代码即可生成一个基本的Spring Web应用,并且内置了tomcat,构建的fat Jar包通过Java -jar就可以直接运行。

如下特性使得Spring Boot非常契合微服务的概念,可以结合Spring BootSpring CloudDocker技术来构建微服务并部署到云端:

?一个可执行jar即为一个独立服务

?很容易加载到容器,每个服务可以在自己的容器(例如docker)中运行

?通过一个脚本就可以实现配置与部署,很适合云端部署,并且自动扩展也更容易

简单而言,即Spring Boot使编码更简单,使配置更简单,使部署更简单,使监控更简单。

 

3.spring boot 各模块介绍

Spring Boot由一些模块构成,如spring-boot, spring-boot-autoconfigure, spring-boot-starters, spring-boot-cli, spring-boot-actuator等。下面简单介绍以下各模块:

 

a. spring-boot

主库,为其他模块提供特性支持。包括以下内容:

SpringApplication类,提供静态方法,方便编写独立运行的Spring应用。唯一的任务是创建和刷新一个合适的Spring ApplicationContext

嵌入式web应用,自带容器(Tomcat, Jetty)

 

b. spring-boot-autoconfigure

Spring Boot可以基于classpath下的内容配置通用应用的大部分模块。一个@EnableAutoConfiguration注解触发Spring上下文的自动配置。

自动配置尝试推测用户可能需要的bean。例如,如果H2DBclasspath中,但是用户没有配置任何db连接,那么spring-boot-autoconfigure推断用户需要一个in-memorydb,因此自动配置为用户配置(默认创建的h2dbdb名为testdb, 用户名为sa,密码无)。自动配置优先级低于用户自定义的bean

 

c. spring-boot-starters

starters是一系列便利的依赖描述,用户可以增加到应用中,并由此取得Spring和相关技术的 一站式配置体验,无需查看sample代码并贴来贴去。例如,若用户想要使用SpringJPA来访问db,则只需包含spring-boot-starter-data-jpa依赖到pom中即可。

 

d. spring-boot-cli

Spring的命令行应用,编译和运行Groovy源码,只需极少的代码就可以运行应用,Spring CLI还可以监视文件,在它们改变时自动重新编译和重启。

 

e.spring-boot-actuator

spring boot actuator提供额外的自动配置,为你的应用装饰一些特性,使应用在生产环境下也可以快速部署和支持。例如,若你正在编写一个JSON web服务,该模块会提供一个服务器,安全,日志,外部化配置,管理端点(management endpoints),评审等。关闭这些内建特性,或者扩展或替代它们都很容易。

 

f.spring-boot-loader

Spring Boot Loader提供秘籍允许你构建可用java jar直接运行的jar包。一般无需直接使用spring-boot-loader,而是通过GradleMaven插件使用。

 

4.怎么使用spring boot

maven构建项目pom代码;

<projectxmlns="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>  

  

    <groupId>ygnet</groupId>  

    <artifactId>boot</artifactId>  

    <version>0.0.1-SNAPSHOT</version>  

    <packaging>jar</packaging>  

  

    <name>Springboot</name>  

    <url>http://maven.apache.org</url>  

      

    <properties>  

        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  

        <java.version>1.7</java.version>  

    </properties>  

       

    <parent>  

        <groupId>org.springframework.boot</groupId>  

        <artifactId>spring-boot-starter-parent</artifactId>  

        <version>1.3.5.RELEASE</version>  

        <relativePath />  

    </parent>  

    <dependencies>  

        <dependency>  

            <groupId>junit</groupId>  

            <artifactId>junit</artifactId>  

            <version>4.12</version>  

            <scope>test</scope>  

        </dependency>  

        <dependency>  

          <groupId>org.springframework</groupId>  

          <artifactId>spring-test</artifactId>  

          <version>4.2.6.RELEASE</version>  

        </dependency>  

                

        <dependency>  

            <groupId>org.springframework.boot</groupId>  

            <artifactId>spring-boot-starter-web</artifactId>  

        </dependency>  

        <dependency>  

            <groupId>org.springframework.boot</groupId>  

            <artifactId>spring-boot-starter</artifactId>  

        </dependency>   

        <!--dependency>  

            <groupId>org.springframework.boot</groupId>  

            <artifactId>spring-boot-starter-test</artifactId>  

            <scope>test</scope>  

        </dependency-->  

        <dependency>  

            <groupId>org.springframework.boot</groupId>  

            <artifactId>spring-boot-starter-jdbc</artifactId>  

        </dependency>  

        <dependency>  

            <groupId>org.postgresql</groupId>  

            <artifactId>postgresql</artifactId><scope>runtime</scope>  

        </dependency>  

        <dependency>  

            <groupId>org.springframework.boot</groupId>  

            <artifactId>spring-boot-starter-actuator</artifactId>  

        </dependency>  

    </dependencies>  

    <build>  

        <pluginManagement>    

            <plugins>    

              <plugin>    

                <groupId>org.eclipse.m2e</groupId>    

                <artifactId>lifecycle-mapping</artifactId>    

                <version>1.0.0</version>    

                <configuration>    

                  <lifecycleMappingMetadata>    

                    <pluginExecutions>    

                      <pluginExecution>    

                        <pluginExecutionFilter>    

                          <groupId>org.apache.maven.plugins</groupId>    

                          <artifactId>maven-dependency-plugin</artifactId>    

                          <versionRange>[2.0,)</versionRange>    

                          <goals>    

                            <goal>copy-dependencies</goal>    

                          </goals>    

                        </pluginExecutionFilter>    

                        <action>    

                          <ignore />    

                        </action>    

                      </pluginExecution>    

                    </pluginExecutions>    

                  </lifecycleMappingMetadata>    

                </configuration>    

              </plugin>    

            </plugins>    

        </pluginManagement>  

        <plugins>  

  

            <plugin>  

                <groupId>org.apache.maven.plugins</groupId>    

                <artifactId>maven-jar-plugin</artifactId>    

                <configuration>    

                    <archive>    

                        <manifest>    

                           <addClasspath>true</addClasspath>    

                           <classpathPrefix>lib/</classpathPrefix>    

                           <mainClass>yg.boot.App</mainClass>    

                        </manifest>    

                    </archive>    

                </configuration>    

            </plugin>  

      

            <plugin>    

                <groupId>org.apache.maven.plugins</groupId>    

                <artifactId>maven-resources-plugin</artifactId>    

                <version>2.5</version>    

                <executions>    

                    <execution>    

                        <phase>compile</phase>    

                    </execution>    

                </executions>    

                <configuration>    

                    <encoding>${project.build.sourceEncoding}</encoding>    

                </configuration>    

            </plugin>  

 

            <plugin>  

                <groupId>org.apache.maven.plugins</groupId>    

                <artifactId>maven-surefire-plugin</artifactId>  

                <version>2.17</version>   

                <configuration>  

                  <skipTests>true</skipTests>    

                </configuration>  

            </plugin>  

 

            <plugin>    

                <groupId>org.apache.maven.plugins</groupId>    

                <artifactId>maven-dependency-plugin</artifactId>    

                <version>2.8</version>    

                <executions>    

                    <execution>    

                        <phase>package</phase>    

                        <goals>    

                            <goal>copy-dependencies</goal>    

                        </goals>    

                    </execution>    

                </executions>  

                <configuration>  

                    <outputDirectory>${project.basedir}/lib</outputDirectory>  

                    <includeScope>compile</includeScope>    

                </configuration>    

            </plugin>  

  

            <plugin>  

                <groupId>org.springframework.boot</groupId>  

                <artifactId>spring-boot-maven-plugin</artifactId>  

            </plugin>  

        </plugins>  

    </build>  

</project>  

JAVA代码:

import org.springframework.boot.autoconfigure.EnableAutoConfiguration;  

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

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

@RestController  

@EnableAutoConfiguration  

@RequestMapping("/test")  

public class AppController {      

    @RequestMapping("/sayhello")  

    public String sayHello(){  

        return "Hello World!";  

    }  

}  

Application.properties代码:

# DataSource settings  

spring.datasource.url=jdbc:postgresql://localhost:5432/jcbk  

spring.datasource.username=jcbk  

spring.datasource.password=123456  

spring.datasource.driver-class-name=org.postgresql.Driver  

  

# Tomcat Server settings (ServerProperties)  

server.port= 9080  

server.address= 127.0.0.1  

server.sessionTimeout= 30  

server.contextPath= /  

  

# Tomcat specifics  

tomcat.accessLogEnabled= false  

tomcat.protocolHeader= x-forwarded-proto  

tomcat.remoteIpHeader= x-forwarded-for  

tomcat.basedir=  

tomcat.backgroundProcessorDelay=30 \# secs

 

Java代码:

import org.springframework.boot.SpringApplication;  

import org.springframework.boot.autoconfigure.SpringBootApplication;  

/**

 * Hello world!

 */  

@SpringBootApplication  

public class App {    

    public static void main(String[] args ){  

        SpringApplication.run(App.class,args);  

    }  

}

直接运行App后,结果如下图所示。启动后访问http://localhost:9080/test/sayhello, 输出 Hello World!

技术分享

 

springboot开发环境搭建

               软件151朱实友1.新建一个maven项目Maven配置文件:<!--InheritdefaultsfromSpringBoot--> <parent><groupId>or 查看详情

springboot开发环境搭建

姓名:罗秀群   班级:软件151 第一步:在Eclipse下面配置Maven环境第二步:构建Maven+spring web项目 :  1.打开Eclipse,选择新建MavenProject,  2.然后利用向导分别建立一个webapp项目和quickStart项目 ... 查看详情

springboot开发环境搭建

软件151张鑫栋一、maven包的导入清单如下:<!--InheritdefaultsfromSpringBoot--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent< 查看详情

windows环境springboot+docker开发环境搭建与helloword

原文:windows环境springboot+docker开发环境搭建与helloword1,下载安装 dockertoolbox 下载地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/ dockertoolbox是一个工具集,它主要包含以下一些内容:DockerCLI客户端,用来运行 查看详情

springboot学习--环境搭建

1. 什么是SpringBoot?SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spri... 查看详情

springboot入门之一:环境搭建(续)

在上篇博客中从springboot的入门到运行一个springboot项目进行了简单讲述,详情请查看“springboot入门之一”。下面继续对springboot做讲述。开发springboot测试类在上篇博客中仅仅是把一个springboot环境的项目运行起来,但并没有进行实... 查看详情

使用idea搭建springboot开发初始环境

准备工作将以下代码加入idea的livetemplate,命名为springbootStartup<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.3. 查看详情

idea开发之springboot环境搭建

1.新建maven工程2.在pom文件中引入SpringBoot相关依赖 <parent>     <groupId>org.springframework.boot</groupId>     <artifactId>spring-boot-starter-pare 查看详情

自己动手搭建一个简易的springboot环境

什么是springboot?SpringBoot俗称微服务。SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通... 查看详情

springboot简介与环境搭建

前言:学习计划  1、springBoot环境搭建  2、springBoot入门  3、srpingBoot整合Mybatis  4、springBoot整合Redis,Redis集群  5、springBoot简单综合案例一、springBoot简介  SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来... 查看详情

windows环境springboot+docker开发环境搭建与helloword

1,下载安装 dockertoolbox 下载地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/ dockertoolbox是一个工具集,它主要包含以下一些内容:DockerCLI客户端,用来运行docker引擎创建镜像和容器DockerMachine.可以让你在windows的... 查看详情

用idea搭建和部署springboot开发环境

一、环境搭建(只说明关键步骤)1.创建新项目2.使用Spring的初始化器 3.点击两次Next,选择如下依赖 4.点击Next和Finish,进入项目,点击reimport,下载依赖二、编写简单的后端代码我有一个MySQL数据库,里面有一个user表,以... 查看详情

快速搭建springboot+mybatis+postgresql开发环境(代码片段)

  这里,利用eclipse或者idea提供的springboot项目创建向导,不用去找依赖。  普通的eclipse需要安装spring插件。可以直接使用sts版本。全称是SpringToolsSuite。在eclipse下,新建->SpringStarterProject,跟着向导,选择... 查看详情

springboot简介与环境搭建

1、Springboot介绍1.1、为什么要学习Springboot1、敏捷开发(整合框架)2、无需tomcat(java引用程序运行,实际jar包)内置tomcat。3、减少xml配置,配置文件形式properties4、SpringCloud+Springboot结合在一起做微服务。微服务SpringClound(http接口... 查看详情

springboot简介与环境搭建

1、Springboot介绍1.1、为什么要学习Springboot1、敏捷开发(整合框架)2、无需tomcat(java引用程序运行,实际jar包)内置tomcat。3、减少xml配置,配置文件形式properties4、SpringCloud+Springboot结合在一起做微服务。微服务SpringClound(http接口... 查看详情

springboot简介与环境搭建

1、Springboot介绍1.1、为什么要学习Springboot1、敏捷开发(整合框架)2、无需tomcat(java引用程序运行,实际jar包)内置tomcat。3、减少xml配置,配置文件形式properties4、SpringCloud+Springboot结合在一起做微服务。微服务SpringClound(http接口... 查看详情

springboot简介与环境搭建

1、Springboot介绍1.1、为什么要学习Springboot1、敏捷开发(整合框架)2、无需tomcat(java引用程序运行,实际jar包)内置tomcat。3、减少xml配置,配置文件形式properties4、SpringCloud+Springboot结合在一起做微服务。微服务SpringClound(http接口... 查看详情

java开发环境的搭建的理解,意外的惊喜

1.美团面试官问的SpringBoot问题什么是SpringBoot?为什么要用SpringBoot?SpringBoot的核心配置文件有哪几个?它们的区别是什么?SpringBoot的配置文件有哪几种格式?它们有什么区别?SpringBoot的核心注解是哪个... 查看详情