(Spring Boot教程一 )Spring Boot入门(简介,一个HelloWorld项目构建)

   最近在学习Spring Boot,所以打算做个教程,自己当笔记,也希望能够帮助一些其他的同学一起共同学习呀。今天的这个入门,会对Spring Boot进行简单介绍,并详细的实现Spring Boot的一个小Demo,让网页显示Hello World~

目录

 

一、Spring Boot及微服务的简介

二、一个Spring Boot的HelloWorld的程序


一、Spring Boot及微服务的简介

1、简介:Spring Boot是Spring团队于2014年开始进行开发的一个简化Spring开发的框架。在spring官网下的项目里,Spring boot已经占据了非常主要的一个地位。

    Spring Boot为J2EE开发的提供一站式解决方案。它能够帮助我们快速地建立一个企业级别的独立应用,简化Spring应用开发,思想为约定大于配置。在一定的约定下,我们可以将过往开发过程中复杂的配置过程进行简化,Just run即可建立一个应用程序。

2、Spring Boot特点:Spring Boot通过整合Spring的系列技术栈(我们在Spring官网下的Project中看到的一些内容,包括Spring Cloud等)来完成和简化应用开发,同时,以为Spring的特性,Spring Boot还能够与其他的框架(JUnit)进行集成。我们来看它有什么特别之处。

(1)自动配置:Spring Boot可以为项目进行大量的自动配置,简化项目的开发过程。但这种配置并不是不可修改的,开发人员也可以通过修改Spring Boot的配置文件对其进行修改。

(2)starters(启动器)自动依赖与版本控制:当我们进行Spring Boot项目开发时,开发功能时直接导入相对应的启动器,即可导入对应的依赖以及依赖的版本。以往我们进行依赖导入的时候需要手动进行,在网上搜索合适的资源有些jar包还有对应版本的依赖关系,十分麻烦。

(3)无xml配置,无代码生成:利用Spring Boot的内置api进行配置

(4)使用嵌入式Servle容器:在进行web开发时可直接打包成为.jar格式,通过java运行。与之前打包成为war再通过tomcat进行部署的方式相比简单了很多。

(5)便于运维和监控:Spring Boot提供了准生产环境的运行时监控,可以对应用的状态和服务的状态进行监控。

(6)集成云计算

   Spring Boot是一个上手很快的开发框架,开发人员无需对框架的细节进行了解,只需要记住开发的规则并按照规则开发即可,十分便利。但由于Spring Boot是在Spring的基础上进行的,所以如果项目需要对Spring Boot进行深度配置,就需要开发人员继续学习Spring API的相关知识。所以想要能够深度了解Spring Boot的整个运行机制还是需要花费大量时间来学习的。

3、微服务:和单体应用(ALL IN ONE)一样,都是一种架构风格。微服务里一个应用是一组小型服务,通过HTTP的方式进行互通。每一个功能元素最终都是一个可独立替换和独立升级的单元。以下内容摘自知乎

    附:一个外文的微服务的详细介绍博客

    微服务导致了一个问题是部署和运维上的困难。对于此,Spring给出一个解决方案。Spring Boot进行快速构建微服务单元->通过Spring Cloud进行微服务单元间的互联->Spring Cloud流式计算、批处理等。

二、一个Spring Boot的HelloWorld的程序

本文将通过构建一个maven项目逐渐展示构建一个Spring Boot项目所需要一些必备的组件和注释,对于初学者来讲很有必要,如果想要更简单地构建一个Spring Boot的Hello World程序,可以看我的这篇博客

1、开发环境

(1)jdk1.8:windows+R输入cmd打开命令行窗口,输入下述命令,显示你的jdk版本

java -version

(2)maven:Spring Boot要求maven 3.3版本以上,我使用3.6.0,安装教程

(3)Intellij IDEA:为方便描述下面使用IDEA作为简称。这里我使用的是IDEA 2018.3.5。 注(激)册(活):https://blog.csdn.net/zhanggonglalala/article/details/88547992

(4)Spring Boot:我使用的是1.4.3

2、环境配置:

(1)maven设置:打开maven安装目录下的conf文件夹下的settings.xml,最好使用notepade++、IDEA或者其他的xml编辑软件。然后再profiles下输入下列代码,然后保存,复制这个文件。在用户目录下,通常为C盘->你的用户名的文件夹下,找到名字为.m2的文件夹,将刚刚复制的settings.xml文件复制过来,如果该文件夹下没有repository文件夹就创建一个。

	<profile>
		<id>jdk-1.8</id>
		<activation>
			<activeByDefault>true</activeByDefault>
			<jdk>1.8</jdk>
		</activation>
		<properties>
			<maven.compiler.source>1.8</maven.compiler.source>
			<maven.compiler.target>1.8</maven.compiler.target>
			<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
		</properties>
	</profile>

     为什么需要两个settings文件?在用户目录下的,是针对于这个用户所建项目的maven配置;而maven目录下的settings文件是对这台机器建立的全部maven项目进行配置。所以通常情况下我们不轻易动maven安装目录下的settings文件。

(2)IDEA配置,使用本地的maven:打开IDEA,找到settings。

    如果你是第一次打开IDEA,那么你应该是这样的界面,点击红框里的Configure第一个选项应该就是Settings:

       如果你之前打开过IDEA,出现了项目编辑的界面,那么settings应该在file->settings下

在settings中搜索maven,出现下面的界面,对画框部分的内容进行设置,maven home directory部分应该选取自己的maven安装路径,会自动识别它的版本;User settings file和Local repository可以选择是maven安装目录下/用户目录下的.m2目录下的setting.xml文件和respository。两者的不同已经在之前的maven设置里说过了

3、新建maven项目:还是两种情况,如果之前没有打开过IDEA,直接点击界面上的Create New Project;如果是打开过就file->new->project,出现下面的界面,选择maven,然后确认以下Project SDK是否是自己安装的jdk环境,如果不是的话,点击右边的New,找到自己安装jdk的目录即可。

      然后Next进入下面的界面,输入GroupId和ArtifactId,ArtifactId其实可以看做模块名,通常是和项目名一致。Version是版本号,1.0比1.0-SNAPSHOT要更加稳定,通常这里我们根据需要进行输入,因为我们是第一次构建,所以直接默认就可以了。Next。

    输入Project name,通常IDEA会根据你的ArtifactId来自动填充,去掉其中的符号,我们这里选择调整和项目名一致,当然不一致也不会构建错误,但是还是一致会比较符合习惯。Project location那里会自动填充,你可以自己选择喜欢的位置,要注意路径的最后应与Project name一致,然后Finish。如果你选择的路径下没有对应的文件夹,IDEA可能会提示你是否创建一个新的文件夹,选择OK就可以了

     项目目录如图,并在IDEA右下角会提示,是否自动应用maven项目,我们选择Enable Auto-Import,自动引用。这样maven就会根据我们项目中的pom文件自动引入jar包以及相关依赖,我们可以通过编辑pom文件就可以轻松引用一些相关的包。

   

4、导入Spring Boot依赖,打开pom.xml文件,在<project>下输入下面的代码,导入Spring Boot的依赖。parent表示当前项目继承了spring boot的项目,即使用了spring boot的架构。dependencies输入后会为项目自动下载项目所需要的spring boot web开发的一些基本依赖。

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.3.RELEASE</version>
    </parent>

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

    然后我们就可以看到,External Libraries下是自动下载的一些依赖,很多…尽管我们只写了引入一个依赖,但是这个依赖还需要很多其他的jar包进行支持。

5、编写主程序,用于启动Spring Boot。在java目录下新建一个类,类名为HelloWorldMainApplication。如图,我们输入com.springboot.HelloWorldMainApplication,会在java目录下新建一个目录com.springboot,然后会把新建的类文件放到这个目录下。新建后路径也会贴图在下方。

    添加注解@SpringBootApplication,注解@SpringBootApplication用于标注一个主程序类,来标注这是一个Spring Boot的应用,添加后的程序如下。添加注解输入“@SBA”IDEA就会为你自动找到对应注解,回车后就可自动添加对应包的引用,十分方便。

package com.springboot;

import org.springframework.boot.autoconfigure.SpringBootApplication;

/*
*注解@SpringBootApplication用于标注一个主程序类,来标注这是一个Spring Boot的应用
*/
@SpringBootApplication
public class HelloWorldMainApplication {
}

    编写主程序,输入快捷键“psvm”,即可。然后按照下面的代码对内容进行填充,注意是SpringApplication而不是SpringBoot'Application。

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

6、编写Controller或者Service,实现功能。在com.springboot文件夹下新建一个类并同时新建controller文件夹,输入controller.HelloController。在类名前加上注解@Controller,表明这时一个Spring的Controller类,能够处理请求。

     然后在类中定义一个返回值类型为String的相应方法,方法名为hello,返回“Hello World”。在方法前面加上两个注解,@ResponseBody和@RequestMapping,分别表示这个方法是相应的内容和据网页的什么请求进行相应,这里我们填写的是根据网页的hello请求进行相应。具体的完整代码如下。

package com.springboot.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class HelloController {
    @ResponseBody
    @RequestMapping("/hello")
    public String hello(){
        return "Hello World";
    }
}

7、启动项目。找到主程序HelloWorldMainApplication,运行main方法。有下面三种方法可供选择:找到HelloWorldMainApplication类名点击右侧的绿色三角运行按钮;在目录下的HelloWorldMainApplication右键选择run;在HelloWorldMainApplication文件内容的任意位置右键,选择run。

   

启动后的日志如下,红框位置表示程序已经由Spring Boot内置的Tomcat启动,端口号为8080。

在任意浏览器中输入网址“http://localhost:8080/hello”,显示内容如下

8、部署。在项目中导入spring boot的插件,方法是,在pom.xml中的</project>前粘贴下面代码:

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

    使用IDEA建立项目的jar包,方法是,点击IDEA左下角->点击maven,召唤处IDEA中的maven界面。Lifecycle->package右键选择Run Maven Build。

  

   在文件目录下生成了一个target文件夹,下面有一个生成的jar包,使用的是“项目名称-版本号”进行命名。这个jar包里不仅包括我们刚刚编写的代码,还有通过pom文件自动下载的依赖。

 

    在文件夹中找到这个jar包的位置,在文件路径位置输入cmd,快速在此位置打开命令行,输入“java -jar 文件名”,进行项目部署。注意文件名应该包括后缀。

    布置成功的命令行界面如上,现在我们进行与启动项目类似的操作,在浏览器中输入http://localhost:8080/hello,显示:

猜你喜欢

转载自blog.csdn.net/zhanggonglalala/article/details/89083622