SpringBoot简介
随着各种动态语言的流行,Java的开发显得格外的笨重,繁多的配置(例如spring框架中的各种XML配置文件等)、低下的开发效率、复杂的部署流程以及第三方技术集成难度大。在上述环境下,Spring Boot 应运而生。它使用“习惯优于配置”(项目中存在大量的配置,此外还内置一个习惯性的配置,让你无须手动进行配置)的理念让你的项目快速运行起来。SpringBoot使用嵌入式的servlet容器,可以很容易的创建一个独立的jar程序,让你的应用易于使用,很是便捷。作为一个java开发者,spring boot就成了我们必须掌握的技能。
创建springboot项目
-
SpringBoot项目的创建很是简单,打开SpringBoot启动器页面
-
在页面进行任意配置(语言,管理工具,id以及依赖等)即可获得一个自定义的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的属性文件。
如下图所示:
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
- 待一切配置完毕后,点击IDEA的运行即可,然后在浏览器中输入http://localhost:8080即可访问,但此时会报错,很正常,因为我们没有添加控制器,所以再编写一个Controller,如下:
@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视图:
- 编写控制器如下:
@Controller
@RequestMapping(value = "/test")
public class Controller01
{
@RequestMapping(value = "/one0",method = RequestMethod.GET)
public String testOne()
{
return "helloworld";
}
}
- 在定义的模板路径下创建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,如有错误,望大佬指正,且第一次写博客,写的不好请多多包涵,非常感谢!