01:初涉Spring Boot

01:初涉Spring Boot

Scroll Down

SpringBoot简介

随着各种动态语言的流行,Java的开发显得格外的笨重,繁多的配置(例如spring框架中的各种XML配置文件等)、低下的开发效率、复杂的部署流程以及第三方技术集成难度大。在上述环境下,Spring Boot 应运而生。它使用“习惯优于配置”(项目中存在大量的配置,此外还内置一个习惯性的配置,让你无须手动进行配置)的理念让你的项目快速运行起来。SpringBoot使用嵌入式的servlet容器,可以很容易的创建一个独立的jar程序,让你的应用易于使用,很是便捷。作为一个java开发者,spring boot就成了我们必须掌握的技能。

创建springboot项目

  • SpringBoot项目的创建很是简单,打开SpringBoot启动器页面

  • 在页面进行任意配置(语言,管理工具,id以及依赖等)即可获得一个自定义的springboot项目。

  • 然后将获得的压缩包解压并使用开发工具导入即可获得一个简单的springboot项目,如下所示:
    SpringBoot
    项目树如下:
    项目树

此时我们便创建了一个完整的springboot项目,可以直接运行,不过由于没有配置控制器等,访问会出现异常页面。我们可以在包里面创建一个Controller,如下所示:

@RestController
@RequestMapping(value = "/test")
public class Controller01
{
    @RequestMapping(value = "/one",method = RequestMethod.GET)
    public String testOne()
    {
        return "hello world";
    }
}


然后点击运行,再访问localhost:8080/test/one将会得到如下结果:
结果图

我们的一个简单的springboot项目完成了。

SpringBoot项目结构介绍

在上面的springboot项目树截图中,我们可以很清晰的看出springboot项目树重点在一个src目录,该目录下包含一个src/main/java和一个src/main/resources目录。

  • src/main/java:
    该目录是我们项目java源码所在,在获取的springboot项目中,该目录下就是我们的包以及一个SpringBoot启动类,用于引导spring项目的启动,源码如下:

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

}

该类很是简单,一个静态方法main,然后调用SpringApplication类的run方法启动应用。

  • src/main/resources:
    该目录下有一个名为static和templates的目录,以及一个application的属性文件。
    如下图所示:
    捕获.PNG
    static目录用于存放项目的静态资源,如js、css、html、图片等。templates用于存放项目的视图文件,如freemarker、Thymeleaf、jsp(不推荐使用)等视图文件。application.properties(也可使用yaml文件)文件用于配置springboot项目,通过key:value的形式对springboot的某些属性进行自定义。在本项目中即使用了yaml文件对视图进行了配置,采用ftl视图。
    application.yaml:
spring:
  freemarker:
    #配置视图文件位置
    template-loader-path: classpath:/templates/
    #配置视图文件后缀名
    suffix: .ftl
    cache: false
@RestController
@RequestMapping(value = "/test")
public class Controller01
{
    @RequestMapping(value = "/one0",method = RequestMethod.GET)
    public String testOne()
    {
        return "hello world";
    }
}

此时可以访问http://localhost:8080/test/one0,将在浏览器看到“hello world”,因为我们使用了@RestController,该标注相当于@Controller+@ResponseBody的结合体,返回json字符串。
如果想返回正常的页面视图呢?如下:

返回Freemarker视图:

  1. 编写控制器如下:
@Controller
@RequestMapping(value = "/test")
public class Controller01
{
    @RequestMapping(value = "/one0",method = RequestMethod.GET)
    public String testOne()
    {
        return "helloworld";
    }
}
  1. 在定义的模板路径下创建helloworld.ftl模板,如下:
<html>
<head>
    <title>hello world</title>
</head>
<body>
<h1 align="center">Hello world</h1>
</body>
</html>

然后访问上面的路径即可看到想要的页面效果。

Over

  • SpringBoot给我的感觉怎么说好呢,的确简化了很多配置,大大的减轻了某些开发负担,但是也正是SpringBoot习惯优于配置的理念让人有点迷,但是在很多方面其实和spring以及spring mvc的开发是一样或说类似的。
    推荐一个Spring Boot资源
  • 结语:初涉Spring Boot,如有错误,望大佬指正,且第一次写博客,写的不好请多多包涵,非常感谢!
    QQ图片20200207235138.gif