root package构造:com.dudu
运用启动类Application.java置于root package下,这样利用@ComponentScan表明的时候默认就扫描当前所在类的package
实体(Entity)置于com.dudu.domain包下
逻辑层(Service)置于com.dudu.service包下
controller层(web)置于com.dudu.controller层包下
static可以用来存放静态资源
templates用来存放默认的模板配置路径
Spring Web MVC框架先容Spring Web MVC框架(常日简称为”Spring MVC”)是一个富”模型,视图,掌握器”的web框架。
Spring MVC许可你创建特定的@Controller或@RestController beans来处理传入的HTTP要求。
示例:
Spring Boot为Spring MVC供应适用于多数运用的自动配置功能。在Spring默认根本上,自动配置添加了以下特性:Spring MVC自动配置
引入ContentNegotiatingViewResolver和BeanNameViewResolver beans。
对静态资源的支持,包括对WebJars的支持。
自动注册Converter,GenericConverter,Formatter beans。
对HttpMessageConverters的支持。
自动注册MessageCodeResolver。
对静态index.html的支持。
对自定义Favicon的支持。
如果想全面掌握Spring MVC,你可以添加自己的@Configuration,并利用@EnableWebMvc对其表明。如果想保留Spring Boot MVC的特性,并只是添加其他的MVC配置(拦截器,formatters,视图掌握器等),你可以添加自己的WebMvcConfigurerAdapter类型的@Bean(不该用@EnableWebMvc表明),详细拦截器等配置后续文章会解析。
静态文件默认情形下,Spring Boot从classpath下一个叫/static(/public,/resources或/META-INF/resources)的文件夹或从ServletContext根目录供应静态内容。这利用了Spring MVC的ResourceHttpRequestHandler,以是你可以通过添加自己的WebMvcConfigurerAdapter并覆写addResourceHandlers方法来改变这个行为(加载静态文件)。
在一个单独的web运用中,容器默认的servlet是开启的,如果Spring决定不处理某些要求,默认的servlet作为一个回退(降级)将从ServletContext根目录加载内容。大多数时候,这不会发生(除非你修正默认的MVC配置),由于Spring总能够通过DispatcherServlet处理要求。
此外,上述标准的静态资源位置有个例外情形是Webjars内容。任何在/webjars/路径下的资源都将从jar文件中供应,只要它们以Webjars的格式打包。
注:如果你的运用将被打包成jar,那就不要利用src/main/webapp文件夹。只管该文件夹是一个共同的标准,但它仅在打包成war的情形下起浸染,并且如果产生一个jar,多数构建工具都会悄悄静的忽略它
模板引擎Spring Boot支持多种模版引擎包括:
FreeMarker
Groovy
Thymeleaf(官方推举)
Mustache
JSP技能Spring Boot官方是不推举的,缘故原由有三:
tomcat只支持war的打包办法,不支持可实行的jar。
Jetty 嵌套的容器不支持jsp
Undertow
创建自定义error.jsp页面不会覆盖缺点处理的默认视图,而该当利用自定义缺点页面
当你利用上述模板引擎中的任何一个,它们默认的模板配置路径为:
src/main/resources/templates
。当然也可以修正这个路径,详细如何修正,可在后续各模板引擎的配置属性中查询并修正。Thymeleaf模板引擎Thymeleaf是一款用于渲染XML/XHTML/HTML5内容的模板引擎。类似JSP,Velocity,FreeMaker等,它也可以轻易的与Spring MVC等Web框架进行集成作为Web运用的模板引擎。与其它模板引擎比较,Thymeleaf最大的特点是能够直接在浏览器中打开并精确显示模板页面,而不须要启动全体Web运用。它的功能特性如下:
Spring MVC中@Controller中的方法可以直接返回模板名称,接下来Thymeleaf模板引擎会自动进行渲染
模板中的表达式支持Spring表达式措辞(Spring EL)
表单支持,并兼容Spring MVC的数据绑定与验证机制
国际化支持
Spring官方也推举利用Thymeleaf,以是本篇代码整合就利用Thymeleaf来整合。
引入依赖请点击此处输入图片描述
如图所示,spring-boot-starter-thymeleaf会自动包含spring-boot-starter-web,以是我们就不须要单独引入web依赖了。
编写controller编写html引入依赖后就在默认的模板路径
src/main/resources/templates
下编写模板文件即可完成。这里我们新建一个index.html:
注:通过xmlns:th=”http://www.thymeleaf.org“ 命令空间,将静态页面转换为动态的视图,须要进行动态处理的元素将利用“th:”前缀。
ok,代码都写好了,让我们看比拟下直接打开index.html和启动工程后访问http://localhost:8080/learn 看到的效果,Thymeleaf做到了不毁坏HTML自身内容的数据逻辑分离。
Thymeleaf的默认参数配置
在application.properties中可以配置thymeleaf模板解析器属性
整合一个bootstrap框架给大家
大家可以直接打开vanilla-cream-css下面的index.html来查看静态效果,如下:
动态效果的话可以查看template.html
这里把上面的资源例子重新用bootstrap写了下,效果不错哦,如下:
总结
本章到此就结束了,下一篇准备先容下如何整合jsp,毕竟现在绝大多数的企业还是用jsp来作为模板引擎的。
源码下载( ̄︶ ̄)↗[干系示例完全代码]
https://github.com/tengj/SpringBootDemo/tree/master
博主有几本Spring Boot的中文电子书资料,有须要的可以关注博主微信"大众年夜众号(嘟爷java超神学堂),自行前往下载【开拓工具->java电子书本】
喜好的可以关注一下~还在新手期一天只能发一篇