SpringBoot从安装到实战(三)运行SpringBoot应用
前文
SpringBoot从安装到实战(二)粗略分析SpringBoot项目文件结构
设置应用引导类
通过前文对项目文件结构的分析,我们大致的了解了springboot应用的文件结构和添加依赖的操作,现在,让我们开始正式运行应用吧!
在 src/main/java 目录下新建名为’zyd‘ 的package,并创建DemoApplication类。
/**
* <p>
* Title: DemoApplication
* </p>
* <p>
* Description: 应用引导类
* </p>
* @author zyd
* <p>
* 创建日期:2020年4月9日
* </p>
*/
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
引导类的作用
通过配置此类可以使得我们通过可执行jar文件的形式运行应用
@SpringBootApplication的作用
@SpringBootApplication是一个组合注解
- @SpringBootConfiguration 声明此类为配置类
- @EnableAutoConfiguration 启用SpringBoot自动配置
- @ComponentScan 启用组件扫描
在这里不详细展开说明
添加模板引擎
之前接触过javaee的读者应该使用过jsp来进行开发,在这里我们使用thymeleaf作为模板引擎
Thymeleaf
1.Thymeleaf 在有网络和无网络的环境下皆可运行,即它可以让美工在浏览器查看页面的静态效果,也可以让程序员在服务器查看带数据的动态页面效果。这是由于它支持 html 原型,然后在 html 标签里增加额外的属性来达到模板+数据的展示方式。浏览器解释 html 时会忽略未定义的标签属性,所以 thymeleaf 的模板可以静态地运行;当有数据返回到页面时,Thymeleaf 标签会动态地替换掉静态内容,使页面动态显示。 2.Thymeleaf 开箱即用的特性。它提供标准和spring标准两种方言,可以直接套用模板实现JSTL、 OGNL表达式效果,避免每天套模板、该jstl、改标签的困扰。同时开发人员也可以扩展和创建自定义的方言。 3. Thymeleaf 提供spring标准方言和一个与 SpringMVC 完美集成的可选模块,可以快速的实现表单绑定、属性编辑器、国际化等功能。
添加Starter
pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
</dependencies>
Thymeleaf的自动配置
当我们安装好相关Starter后,springboot会为我们自动设置好关于视图的配置
当控制器跳转页面时,自动帮我们增加 /templates/ 前缀以及 .html后缀。
设置视图控制器
按照以往的做法,我们会写一个控制器,然后在控制器里面再写一个函数来设置路径,但如果只是因为简单的跳转网页而创建一个新的类的话,那也太麻烦了,幸运的是,我们可以通过实现WebMvcConfigurer接口来以JavaBean的形式配置跳转页面
创建WebMvcConfigurer接口实现类
/**
* <p>
* Title: WebConfig
* </p>
* <p>
* Description:
* </p>
* @author zyd
* <p>
* 创建日期:2020年4月9日
* </p>
*/
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("home");
}
}
在这里通过覆盖WebMvcConfigurer的addViewControllers方法完成跳转配置
基于springboot对thymeleaf的自动配置我们可以得知
当url为http://localhost:8080/ 时,将会跳转至 /templates/home.html 页面
注意
WebMvcConfigurer里面还有很多方法在这里不一一列出,有兴趣的可自己查找资料
定义视图
在templates目录下创建home.html
注意:由于使用Thymeleaf 如果想要使用thymeleaf标签需要声明
运行应用
右键项目->Run As ->Spring Boot App
网页输入http://localhost:8080/
完整demo目录
小结
至此,我们成功的运行了第一个spring boot应用,接下来的篇章,将以实践为教学,一步一步构建自己的应用