一, 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的高级应用,包括Spring Boot的自动配置、Spring Boot的Web开发、Spring Boot的数据访问、Spring Boot的缓存、Spring Boot的消息队列、Spring Boot的安全、Spring Boot的测试等方面的...
分享我的Spring Boot 笔记文档,本文档从Spring 的演变说起,根据...5、Spring Boot的web开发; 6、Spring Boot的数据访问; 7、Spring Boot的事务管理; 8、Spring Boot的日志管理; 9、缓存支持、配置一详解等内容。
适合初学者spring-boot——web笔记
当构建一个安全的Web应用程序时,使用Spring Boot和Spring Security可以大大简化开发过程。以下是一个示例项目,展示了如何使用这些框架来实现基本的安全功能。 构建安全的Web应用程序:一个示例项目 1. 项目准备 ...
本教程为笔者学习 Spring Boot 时写的笔记,适合没有接触过此框架的新手。内容非常全面,其中的代码都能运行,笔者都做了验证。本教程是简单笔记记录,从零到一学习 Spring Boot。本教程涉及的知识如下: Hell World...
1.Spring Boot 2.Apache Shiro 3.Apache Log4j2 4.Spring Data JPA 5.Spring Data Redis 3.数据库 1.MySQL 2.Redis 第三部分是在前面的基础上,分析项目存在的不足,并对其进行由点及面的优化。 当简单的优化无法...
1. Spring Boot:一个基于Spring框架的快速开发应用程序的工具。 2. Python Flask:一个轻量级的Python Web框架。 3. etcd:一个分布式键值存储系统,用于服务注册与发现。 三、项目设置 1. 创建一个新的Spring ...
Spring Boot 整合 Spring Security 包含认证,授权,加密,验证码,前后端分离,记住密码,自定义组件等
SpringBoot是企业级开发的整体整合解决方案,特别用于快速构建微服务...内容包含微服务概念、配置文件、日志框架的使用、web开发、Thymeleaf模板引擎、Docker容器技术、MyBatis、Spring Data JPA、自定义starter等;
1、Spring Boot 简介 简化Spring应用开发的一个框架; 整个Spring技术栈的一个大整合; J2EE开发的一站式解决方案; 2、微服务 2014,martin fowler 微服务:架构风格(服务微化) 一个应用应该是一组小型服务;可以...
Spring Boot干货系列:(四)开发Web应用之Thymeleaf篇:chapter4 Spring Boot干货系列:(五)开发Web应用之JSP篇:chapter5 Spring Boot干货系列:(六)静态资源和拦截器处理:chapter6 Spring Boot干货系列:...
课程采用目前市面上比较热门的技术Vue、Spring Boot、Spring Security开发,符合绝大多数公司开发的主流技术,采用前后端分离完成项目的开发; ????课程分前端和后端两部分;前端采用Vue Element 完成界面布局,从零...
springboot学习笔记 spring基础 Spring概述 Spring的简史 xml配置 注解配置 java配置 Spring概述 Spring的模块 ... spring-boot-starter-web spring-boot-starter-
从了解 spring boot ,spring boot 的核心配置,spring boot 改造购物车,spring boot 原理,web 开发的应用,
Spring是市场上开发Web,企业和云就绪软件的最佳框架之一。 Spring Boot通过减少样板代码的数量,并提供可用于生产的功能和简单的部署模型,极大地简化了复杂软件的构建。 说明和导航 所有代码都组织在文件夹中。 每...
很不错的学习笔记,个人备用。Spring Boot:旨在简化创建产品级的 Spring 应用和服务,简化了配置文件,使用嵌入式web服务器,含有诸多开箱即用微服务功能,可以和spring cloud联合部署。
Spring Boot 项目实践 Spring Cloud 多模块实践 参考链接 Spring Boot引导页: MyBatis集成Spring Boot: 、、 Spring Cloud集成Eureka Spring Cloud集成Ribbon 、 Spring Cloud集成Zuul Spring Cloud集成Feign ...
除了使用入门练习,我还希望该项目可以作为一些常见的Web项目的脚手架,帮助大家简化构建网站的流程。之所以叫白卷,是因为它从0开始,会随着时间的推移逐步完善。 ) 感谢JetBrains提供全家桶开源许可,IDEA确实是...
使用Spring Boot开发微服务这是和撰写的Livelessons视频培训课程“ 微服务”随附的代码。 笔记我们目前正在升级此代码库,以播放第二个视频。 如果要查看以前的版本,请使用v1分支。介绍是什么使现代的应用程序? ...
springboot的核心笔记,想要学习Springboot的亲们可以下载学习 目录: 1.Springboot入门 2.配置文件 3.日志 4.web开发 5.Docker 6.Springboot与数据访问 7.启动配置原理 8.自定义starter