SpringBoot系列之一_入门

来源:互联网 发布:xperia x compact 知乎 编辑:程序博客网 时间:2024/06/05 03:24

  SpringBoot系列之一_入门


  以前我们使用SSH或SSM框架开发Web应用时,步骤通常都比较繁琐:

  1. 引入各个框架的jar包,如果使用maven,需要编写maven的依赖清单;

  2. 配置web.xml文件;

  3. 编写spring的配置文件;

  4. 编写各个类;

  5. 将项目部署到tomcat中,并启动tomcat以测试项目;


  每次创建一个Web应用就需要完成以上所有步骤,而现在的Web应用通常规模都较小,即提倡“微服务”的概念,这时就有必要简化项目的开发步骤。

  最近以来,SpringBoot变得很火了。SpringBoot是Spring家庭的一个新成员,它采用“习惯优于配置”的理念,如果你按照SpringBoot的默认方式去用,几乎不需要做什么配置。

  SpringBoot还有一些其它的好处:

  1. 将依赖项模块化,例如你要进行Web开发,只需要引入一个“spring-boot-starter-web”模块即可,这个模块里会包括很多的jar包,足够你进行Web开发的;这些模块的命名都以“spring-boot-starter-”开头;

  2. 运行方便,SpringBoot有一个包含main方法的主程序,运行时以普通Java程序的方式运行,它有一个内建的应用服务器,运行时将项目打成一个jar包并放在应用服务器中运行。


  一、创建第一个SpringBoot程序

  1. 使用Spring Initializr生成项目源代码

  SpringBoot提供了一个创建程序的网站,你登录这个网站,并进行初始配置,就可以生成项目源代码并下载到本地。

  进这个网站:http://start.spring.io/

  界面如下:



  在此界面中,最上面一行,可以选择创建“Maven”项目或“Gradle”项目(类似Maven的项目管理工具),使用“Java”语言,并指定SpringBoot版本。

  之后,输入“Group”即机构名称和“Artifact”即项目名称,还可以在右侧选择依赖项,前面说过了SpringBoot已经把常用依赖项模块化了,这里我只选择了Web,即引入“spring-boot-starter-web”模块。

  最后,点击“Generate Project”(生成项目)。

  就可以下载生成好的应用程序源代码。


  2. 将项目导入eclipse开发工具

  解压下载好的源代码。

  使用eclipse的导入功能,File->Import->Existing Maven Project。



  3. SpringBoot项目的目录结构

  我们的第一个SpringBoot项目的目录结构如下:


  可以看到有几个主要的目录:

  A. src/main/java,这是放置Java源代码的目录,其下是由“Group”+“Artifact”组合而成的包名,此包下有一个DemoApplication.java文件,它是程序入口,包含了main方法。

  B. src/main/resources,这是放置资源文件的目录,其中static中放置静态资源,可以在其下分别创建images、js、css等文件夹用于保存图片、样式表或脚本;templates中放置模板,例如jsp等需要解析的动态文件;application.properties是应用程序配置文件,程序的配置都写在这里。

  C. src/test/java,这是放测试类的目录。

  项目的根目录上有一个pom.xml,这是maven的配置文件。还有一些mvnw文件,mvnw即maven wrapper,是管理maven软件本身版本的一个工具。(Maven是管理依赖项的常用工具,但是Maven软件本身又有多个版本,如果每个人用的版本不一样怎么办?maven wrapper可以帮助你统一maven版本)


  二、创建测试程序并运行

  我们稍微修改一下DemoApplication.java文件。

  文件的原内容如下:

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


  将其修改为:

@SpringBootApplication@RestControllerpublic class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}@RequestMapping("/")public String hello() {return "Hello World!";}}

  这里添加了一个测试方法hello,本来它是一个控制器,应该单独编写一个类来保存它,但为了方便,就先写在DemoApplication类里。

  hello方法之前有一个注解@RequestMapping,此注解是spring mvc框架中的注解,表示访问的URL是什么。(导入spring-boot-starter-web模块即引入了spring mvc框架)

  我们还注意到,在类前面还添加了一个@RestController注解,该注解表示此类中的方法都是控制器,并且控制器返回的信息以JSON格式返回,即RESTFUL风格的应用。

  编写好以后,我们启动程序,在DemoApplication类上右击,Run As->Java Application。


  观察一下控制台输出的内容:



  之后,打开浏览器,在地址栏输入:http://localhost:8080/

  就可以看到:Hello World!


  我们的第一个基于SpringBoot的Web应用就完成啦!


原创粉丝点击