1 应用开发基础
1.1 静态文件
1: Spring Boot默认为我们提供了静态资源处理,使用 WebMvcAutoConfiguration 来配置各种属性,建议使用默认配置方式,提供的静态资源映射,按照优先级顺序如下:
classpath:/META-INF/resources
classpath:/resources
classpath:/static
classpath:/public
2:可以通过修改spring.mvc.static-path-pattern来修改默认的映射路径
3:注意:如果应用将被打包成jar,就不要使用src/main/webapp文件夹。尽管该文件夹是一个共同的标准,但它仅在打包成war的情况下起作用
4:SpringMVC使用ResourceHttpRequestHandler 来进行资源映射,所以可以通过添加自己的WebMvcConfigurerAdapter并覆写addResourceHandlers方法,来改变这个行为,也就是自定义加载静态文件
1.2 自定义加载静态文件示例
@Configuration
public class MyWebMvcConfig extends WebMvcConfigurerAdapter {
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/static2/**")
.addResourceLocations("classpath:/static2/");
super.addResourceHandlers(registry);
}
}
1:也可以指定外部的路径,直接addResourceLocations指定即可,示例如下:
把.addResourceLocations("classpath:/static/")变换成
.addResourceLocations("file:D:/my/")
1.3 添加拦截器配置
1:先按照SpringMVC的自定义拦截器的写法,写好拦截器类
2:然后在重写WebMvcConfigurerAdapter中的addInterceptors方法,示例如下:
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new MyInterceptor()).addPathPatterns("/**").excludePathPatterns("/toLogin","/login");
super.addInterceptors(registry);
}
1.4 国际化
1:定义国际化资源文件,放到resource下面,默认名字是messages.properties
2:在前面的MyWebMvcConfig中添加读取消息文件的bean
@Bean
public MessageSource messageSource() {
ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
messageSource.setBasename("messages");
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
}
3:程序里面就可以直接注入MessageSource并使用 @Autowired
private MessageSource messageSource;
4:一样可以向消息文件中传入参数
1.5 支持的模板引擎
Spring Boot支持多种模版引擎包括:FreeMarker、Groovy、Thymeleaf(官方推荐)
1:JSP技术,Spring Boot官方是不推荐的,原因可能有:
(1)Tomcat只支持war的打包方式,不支持可执行的jar
(2)Jetty 嵌套的容器不支持jsp
2:默认的模板配置路径为:src/main/resources/templates
2 Thymeleaf
2.1 概述
Thymeleaf是一款用于渲染XML/XHTML/HTML5内容的模板引擎。类似JSP,Velocity,FreeMaker等,它也可以轻易的与Spring MVC等Web框架进行集成作为Web应用的模板引擎。
与其它模板引擎相比,Thymeleaf最大的特点是能够直接在浏览器中打开并正确显示模板页面,而不需要启动整个Web应用。它的功能特性如下:
1:Spring MVC中@Controller中的方法可以直接返回模板名称,接下来Thymeleaf模板引擎会自动进行渲染
2:模板中的表达式支持Spring表达式语言(Spring EL)
3:表单支持,并兼容Spring MVC的数据绑定与验证机制
4:国际化支持
2.2 基本语法和使用
具体的请参见官网:http://www.thymeleaf.org/
升级到使用thymeleaf 3.x:
<thymeleaf.version>3.0.8.RELEASE</thymeleaf.version>
<thymeleaf-layout-dialect.version>2.2.2</thymeleaf-layout-dialect.version>
3 Springboot集成Jsp
3.1 配置依赖
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId
<artifactId>jstl</artifactId>
</dependency>
注意把前面thymeleaf的配置去掉
3.2 配置application.properties
spring.mvc.view.prefix=/WEB-INF/pages/
spring.mvc.view.suffix=.jsp
然后就可以进行jsp开发了,跟以前一样
3.3 部署运行
1:打成jar运行,会报错,因为jsp没有包含进来
2:打成war运行,可以用java –jar的方式来运行
3:如果要部署到外部服务器中:
(1) 添加一个类来继承SpringBootServletInitializer,类似于web.xml文件配置的方式来启动Spring应用上下文,形如:
@Component
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
}
(2)修改web.xml的头,设置为servlert3以上,否则默认的jsp用1.2的,默认没有开启el,要jsp2.0以上才可以,形如:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1" metadata-complete="true">
(3)用maven打完包过后,拷贝后缀为.war.original的这个war,当然要修改一下名字,这个是springboot没有包装内嵌服务器的war包
(4)然后就可以去启动外部的tomcat了
相关推荐
SpringBoot是由Pivotal团队提供的全新框架,其设计目标是使创建独立的、生产级别的基于Spring的应用变得极其简单,它集成了大量常用的第三方库配置(如DataSource、JPA、MongoDB、RabbitMQ等),默认配置能帮助...
【SpringBoot2.0.3-Demo简单的完整示例】是一个使用SpringBoot 2.0.3版本构建的示例项目,旨在展示如何快速搭建一个功能完备的应用程序。...这是一个很好的起点,帮助新手快速上手SpringBoot开发。
它集成了大量常用的第三方库配置,如:Tomcat、JPA、Thymeleaf等,并提供了默认配置,使得开发者可以快速上手。 2. **Eclipse与STS插件**: Eclipse是一款广泛使用的Java IDE,而Spring Tools Suite (STS) 是...
SpringBoot 是一个由 Pivotal 团队创建的框架,旨在简化 Spring 应用程序的初始搭建以及开发过程。它集成了大量常用的第三方库配置,如 JDBC、MongoDB、JPA、RabbitMQ、Quartz 等,使得开发者可以快速地开始编写代码...
Spring Boot 基础篇的知识点,包括 Spring Boot 简介、快速上手 Spring Boot、Spring Boot 入门案例、parent starter 引导类、内嵌 Tomcat 基础配置、配置属性配置、yaml 文件语法规则、yaml 数据读取、整合第三方...
标题“springboot-backend-apirest”表明这是一个关于使用Spring Boot构建后端RESTful API的项目。...同时,它也可能包含一些最佳实践和自动化配置的示例,使得开发者能够快速上手并理解Spring Boot的强大之处。
这个项目模板可以帮助开发者快速搭建一个集成了Spring MVC、MyBatis和TkMapper的Web应用,并具备分页功能,是学习和开发SpringBoot项目的良好起点。通过研究这个项目,你可以深入理解SpringBoot的自动配置、组件扫描...
通过"廖师兄两小时学会SpringBoot"的学习资源,你可以系统地了解并掌握上述知识点,快速上手SpringBoot开发,实现高效便捷的Java应用构建。在实际学习过程中,建议结合代码示例和实践项目,巩固理解,提升技能。
《SpringBoot实战(第四版)》是一本专为SpringBoot初学者设计的高清教程,由丁雪丰翻译,提供清晰的目录结构,并且允许文本复制...对于希望快速上手并深入理解SpringBoot的初学者而言,这本书无疑是一份宝贵的资源。
《SpringBoot实战(自带目录)第四版》是针对Java开发者的一本深度技术指南,主要聚焦于Spring Boot框架的使用和实践。Spring Boot是由Pivotal团队提供的全新框架,旨在简化Spring应用的初始搭建以及开发过程。它...
Spring Boot是Spring框架的一个扩展,旨在简化Spring应用程序的初始搭建以及开发过程,它通过自动化配置、起步依赖等特性,使得开发者能够快速上手。 描述中提到的“包含前台后台前端后端”,意味着这个项目不仅...
它集成了大量常用的第三方库配置,如 JDBC、MongoDB、JPA、RabbitMQ、Quartz 等,使得开发者能够快速地构建一个独立运行的、生产级别的基于 Spring 的应用。 **1. 快速启动与约定优于配置** SpringBoot 的核心理念...
SpringBoot是Spring框架的一种简化和快速开发方式,它集成了大量常用的第三方库配置,如 JDBC、MongoDB、JPA、RabbitMQ、Quartz 等,使得开发者能够快速上手构建自己的应用。在这个"springboot的java配置实例"中,...
SpringBoot是Java开发领域中的一款热门框架,由Pivotal团队维护,旨在简化Spring应用的初始搭建以及开发过程。这个"a002springboot_idea.zip"压缩包包含了一个已经配置好的SpringBoot项目,适用于使用IntelliJ IDEA...
SpringBoot是一款基于Spring框架的高度模块化、简化化的开发工具,旨在简化Spring应用的初始搭建以及开发过程。它封装了许多常用功能,如嵌入式Web服务器、自动配置、Starters、健康检查、Actuator等,使得开发者...
SpringBoot 是一个由 Pivotal 团队开发的 Java 框架,旨在简化 Spring 应用程序的初始搭建以及...对于初学者来说,掌握以上知识点将有助于理解 Spring Boot 的核心机制,并能够快速上手开发自己的 Spring Boot 应用。
SpringBoot 是一个基于 Java 的轻量级框架,它旨在简化创建独立、生产级别的基于 Spring 应用程序的流程。...总之,SpringBoot 2.7.18 是一个强大且易于上手的框架,能帮助开发者快速构建高质量的 Spring 应用。
- 实践创建第一个Spring Boot应用,逐步熟悉开发流程。 - 深入研究Actuator,掌握应用监控和管理技巧。 9. **进阶话题** - Spring Cloud与Spring Boot结合,实现微服务架构。 - Docker容器化Spring Boot应用,...
SpringBoot 是一个由 Pivotal 团队开发的框架,...通过学习这些,你可以快速上手并开发出自己的第一个 Spring Boot 应用。在 "springboot_hello-master" 这个项目中,你可能能找到这些概念的实际应用,从而加深理解。
Spring Boot是由Pivotal团队开发的,其核心目标是简化Spring应用的初始搭建以及开发过程,使得开发者能够更快速地构建高质量的、生产级别的Java应用。 Spring Boot基于Spring框架,但通过自动配置和“起步依赖”...