一, web开发支持
Spring-boot-starter-web提供了嵌入tomcat及SpringMVC的依赖
二, Thymeleaf模板引擎
1),基础知识
Thymeleaf是java的一个类库,是一个xml/xhtml/html5的模板引擎,可作为view层
可用于替换jsp
2), 引入
<html xmlns:th="http://www.thymeleaf.org"><!-- 1-->
<meta content="text/html;charset=utf-8"/>
<link th:src="@{xx/xx/bootstrap.css}" rel="stylesheet" />
<script th:src="@{xx/xx/bootstrap.js}"></script>
</html>
备注:1),引入命名空间
2), 通过"@{}"引入静态资源,在jsp下极易出错
3), 访问model中的数据
通过"${}"访问web中的属性
e.g. <span th:text="${person.name}"></span>
4), model中的数据迭代
e.g. <li th:each="person:${people}">
<span th:text="${person.age}"></span>
</li>
5), 数据判断
支持<,>==,!=,等springEL表达式
e.g. <div th:if="${not #lists.isEmpty(people)}"></div>
6). javascript中访问model
e.g,
<script th:inline="javascript">
var single= [[${singlePerson}]];
</script>
备注: 1),通过th:inline="javascirpt" 添加到script标签中
2), 使用[[${}]] 获取值
3), 更多: http://www.thymeleaf.org
7), 与springMVC的集成
thymeleaf 定义了2个支持类:
org,thymeleaf.spring4.view.ThymeleafView
org.thymeleaf.spring4.view.ThymeleafViewResolver(默认)
SpringTemplateEngine:用来在springMVC下使用 Thymeleaf模板引擎
TemplateResolver: 用来设置模板引擎(前缀,后缀)
e.g.
@Bean
public TemplateResovler templateResolver(){
TemplateResovler templateResolver = new ServletContextTemplateResolver();
templateResolver.setPrefix("/WEB-INF/templates");
templateResolver.setSuffix(".html");
templateResolver.setTemplateMode("HTML5");
return templateResolver;
}
@Bean
public SpringTemplateEngine templateEngine(){
SpringTemplateEngine templateEngine = new templateEngine();
templateEngine.setTemplateResolver(templateResolver());
return templateEngine
}
@Bean
public ThymeleafViewResolver thymeleafViewResolver(){
ThymeleafViewResolver thymeleafViewResolver = new ThymeleafViewResolver();
ThymeleafViewResolver.setTemplateEngine(templateEngine());
return thymeleafViewResolver;
}
8). Spring Boot的支持
Spring Boot通过org.springframework.boot.autoconfigure.thymeleaf包对Thymeleaf自动装配.
通过ThymeleafProperties来配置thymeleaf,只需在application.properties中以spring.thymeleaf开头来配置
ThymeleafProperties源码, 后补
application中示例:
#thymeleaf start
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.content-type=text/html
#开发时关闭缓存,不然没法看到实时页面
spring.thymeleaf.cache=false
#thymeleaf end
三, Web相关配置
1, spring boot提供的自动配置
1),自动配置ViewResolver
ContentNegotiatingViewResolver: 特殊的ViewResolver,拥有最高优先级
不是自己处理,而是给其他的viewResolver处理
BeanNameViewResolver: 去查找Bean返回字符串的view来渲染视图
InternalResourceViewResolver: 主要通过设置前缀,后缀,及控制器中方法来返回视图名
2), 自动配置静态资源
在自动配置类addResourceHandlers方法中定义了以下静态资源的自动配置
类路径文件: 把/static, /public, /resources, /META-INF/resources里的静态文件直接映射/**.
可以通过localhost:8080/**来访问
webjar: 把webjar的/META-INF/resources/webjars/的静态文件映射为/webjars/**
3), 自动配置Formatter和Converter
4), 自动配置HttpMessageConverters
5), 静态首页的支持
静态首页index.html放置目录.META-INF/resources/,resources/, public/,statuc/ 都可以.
6), 接管spring boot的web配置
如果默认配置不符合需求,可通过@Configuration,@EnableWebMvc来实现自己的配置
7), 注册Servlet, Filter, Listener
声明为 spring bean即可达到效果. 即: @Bean
四, Tomcat配置
关于Tomcat的所有属性都在org.springframework.boot.autoconfigure.web.ServerProperties做了定义.
1, 配置Tomcat
applicaiton.properties添加如下配置
server.port=8080 #默认为8080
server.session-timeout=600 #过期时间,以秒为单位
server.context-path= #配置访问路径,默认为/
server.tomcat.uri-encoding= #配置tomcat的编码,默认UTF-8
server.tomcat.compression= #tomcat是否开启压缩,默认为关闭off
.....
2, 代码配置tomcat
注册一个实现EmbeddedServletContainerCustomizer接口的Bean
3, 替换tomcat
在pom.xml中,将spring-boot-starter-web的依赖由spring-boot-starter-web改为相应的
e.g. spring-boot-starter-jetty (undertow)
3, SSL(Secure Sockets Layer) 配置
1),生成证书: 可用JDK自带的keytool生成.
e.g. keytool -genkey -alias tomcat 然后按提示操作
2), spring boot 配置SSL
server.port=8443
server.ssl.key-store=.keystore
server.ssl.key-store-password=123
server.ssl.keyStoreType=JKS
3), http转https
配置TomcatEmbeddedServletContainerFactory,并添加Tomcat的connector来实现
五, Favicon配置
关闭: spring.mvc.favicon.enabled=false
设置自己的Favicon: 将自己额favicon.ico(文件名不能动),放在类路径根目录(/, resources/ public/, static)
等一些目录下都可以
六, WebSocket
1, 准备: 添加websocket依赖
2, 广播式
//todo
3,点对点
/todo
七, 基于Bootstrap和AngularJs的应用
bootstrap 下载地址: http://getbootstrap.com/getting-started/
页面组件支持: http://getbootstrap.com/components
大量js插件: http://getbootstrap.com/javascript/
angularJs: https://angularjs.org/
示例见网盘:projects/springboot
相关推荐
在第三步中,选择自己所需的依赖、Spring Boot 的版本,选择 WEB 开发的所需的 starter。最后,指定项目的名称和路径,即可完成项目的创建。 在创建成功的项目中,有一个 DemoApplication 是项目的启动类,里面有一...
2. **起步依赖(Starter POMs)**:Spring Boot 提供了一系列的起步依赖,如 `spring-boot-starter-web`,这些依赖包含了开发特定功能所需的所有依赖,方便开发者快速集成。 3. **内嵌服务器**:Spring Boot 内置了...
### Spring Boot 笔记 #### 一、Spring Boot 概述与重要性 Spring Boot 是由 Pivotal 团队提供的新一代框架,旨在简化 Spring 应用程序的启动配置及开发流程。它采用了一种独特的方式来减少样板代码的编写,从而...
在本篇Spring Boot笔记中,我们将探讨Spring Boot的核心特性、如何创建一个简单的Spring Boot应用以及相关的Maven配置。Spring Boot是Spring框架的一个扩展,旨在简化Spring应用的初始搭建以及开发过程,提供了一种...
Spring Boot 2.5.0 简单学习pdf 资料 Spring Boot 是一个基于Java的开源框架,旨在简化Spring应用程序的搭建和...Spring Boot 2.5.0 提供了许多有用的特性和工具,能够帮助开发者快速搭建和开发 Java Web 应用程序。
Spring Boot对Web开发提供了很好的支持,包括RESTful API开发、模板引擎(如Thymeleaf、Freemarker)、WebSocket等。Spring MVC框架作为核心,使得Web开发变得简单高效。 9. **数据访问** Spring Boot对各种...
Spring Boot提供了大量的自动配置模块,可以自动配置Spring以及第三方库,如Web开发、数据访问、消息服务等。通过starter的依赖,开发者可以不用编写任何配置代码,快速开始开发,极大地提高了开发效率和项目的启动...
引入`spring-boot-starter-web`依赖,它包含了Spring MVC和Tomcat等Web开发所需的核心组件: ```xml <groupId>org.springframework.boot <artifactId>spring-boot-starter-web ``` 4. 编写控制器与...
Spring Boot 是一个由 Pivotal 团队开发的框架,旨在简化基于 Spring 的应用程序初始搭建...通过阅读这些笔记,你可以更好地理解 Spring Boot 如何简化 Java 应用的开发,以及如何利用其特性构建高效、可维护的系统。
Spring Boot是一种基于Spring框架的开源项目,旨在简化Spring应用的初始搭建以及开发过程。Spring Boot提供了一种快捷的方式,让开发者能够快速构建独立的、生产级别的基于Spring框架的应用。Spring Boot的核心特性...
- **J2EE开发的一站式解决方案**: Spring Boot 为 J2EE 开发提供了一个完整的技术栈,从Web层到数据访问层,再到安全性和事务管理等,都可以通过 Spring Boot 来轻松实现。 #### 2. 微服务架构简介 2014 年,...
例如,`spring-boot-starter-web`提供了开发Web应用程序所需的基本依赖,包括Spring MVC和Tomcat内嵌服务器。只需在`pom.xml`或`build.gradle`文件中引入相应起步依赖,无需手动管理其他依赖。 **三、内嵌Web服务器...
Spring Boot 是一个基于 Spring 框架的快速开发工具,旨在简化新 Spring 应用的初始搭建以及开发过程。它预设了许多默认配置,使得开发者能够快速构建功能丰富的应用程序,而无需进行大量的手动配置。 在《Spring ...
笔记接下来会深入到Spring Boot的实战部分,包括Web开发、数据库操作、缓存管理、安全控制等多个方面。 4. **Web开发**:Spring Boot与Spring MVC的集成使得构建RESTful API变得简单。笔记将介绍如何创建Controller...
3. **嵌入式Web服务器**:Spring Boot支持内嵌Tomcat、Jetty或Undertow等Web服务器,无需额外部署,简化了开发流程。 4. **Actuator**:提供了丰富的端点(如`/info`、`/health`),用于监控和管理应用,包括查看...
Spring Boot是Java开发中的一个流行框架,它简化了创建独立的、生产级别的基于Spring...通过这份笔记,读者将深入理解Spring Boot的核心概念,并能熟练应用到实际项目中,提升开发效率,实现快速构建高质量的Java应用。
在本笔记中,我们将深入探讨Spring Boot的核心特性,以及如何利用这些特性来构建高效且易于维护的项目。 1. **起步依赖(Starter Dependencies)** Spring Boot的起步依赖是其核心特性之一,它允许开发者通过添加...
【Spring Boot学习笔记】 Spring Boot是Java开发领域中一个非常受欢迎的框架,它极大地简化了创建独立、生产级别的基于Spring的应用程序的过程。Spring Boot的核心理念是“约定优于配置”,这使得开发者可以快速...
Spring Boot基础笔记知识点详细说明: 1. Spring Boot简介:Spring Boot是一个开源Java框架,用于快速、轻松地创建独立的、生产级别的基于Spring的应用程序。它支持微服务架构,目的是简化新Spring应用的初始搭建...