1,什么是热部署

spring为开发者提供了一个名为spring-boot-devtools的模块来使springboot应用支持热部署,提高开发的效率,修改代码后无需重启应用

2,添加依赖和配置

1,@PropertySource

1,为使用要使用@PropertySources
        上面的注入,所有的配置都是写在appliaction.properties或application.yml文件里,那么如果不想写在这里面怎么处理呢使用@PropertySource可以解决
2,注入优先级的问题
    所在的配置都是优先注入appliaction.properties或application.yml里面的数据
    如果要不一样,必须修改配置文件引入的前缀
2,@ImportResource
1,为什么要使用@ImportResource
        从上面所有的配置中可以看出我们没有使用以前的spring的xml的配置方法,如果还是要使用spring里面的xml的配置方式怎么办理,使用@ImportResource
 
    在开发中,一般有两种环境
        1,生产环境  [项目上线,客户在使用中,就是生产环境]
        2,开发环境[就是开发环境,不解释]
    有时候开发环境和生产环境的配置方法是不一样的,那么如何快速的切换呢,这里就要使用profiles文件
 

2,使用方法

1,创建applicatin-dev.properties'
server.port=8081
 
2,创建applicatin-pro.properties

server.port=8082

3,修改application.properties
#server.port=8080
spring.profiles.active=pro

5,yml文件的多配置块的集成切换

spring: 
  profiles:
  active: pro

server:

  port: 8081
  spring:
  profiles: dev

server:

  port: 8082
  spring:
  profiles: pro

  

2,@Conditional派生注解关属性;

作用:必须是@Conditional指定的条件成立,才给容器中添加组件,配置配里面的所有内容才生效;

@ConditionalOnJava  系统的java版本是否符合要求
@ConditionalOnBean  容器中存在指定Bean;
@ConditionalOnMissingBean   容器中不存在指定Bean;
@ConditionalOnExpression    满足SpEL表达式指定
@ConditionalOnClass 系统中有指定的类
@ConditionalOnMissingClass  系统中没有指定的类
@ConditionalOnSingleCandidate   容器中只有一个指定的Bean,或者这个Bean是首选Bean
@ConditionalOnProperty  系统中指定的属性是否有指定的值
@ConditionalOnResource  类路径下是否存在指定资源文件
@ConditionalOnWebApplication    当前是web环境
@ConditionalOnNotWebApplication 当前不是web环境
@ConditionalOnJndi  JNDI存在指定项

  

自动配置类必须在一定的条件下才能生效;
我们怎么知道哪些自动配置类生效?
我们可以通过启用debug=true属性(在配置文件配置);来让控制台打印自动配置报告,这样我们就可以很方便的知道哪些自动配置类生效;
 

1,thymeleaf概述

简单说, Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 JSP 。相较与其他的模板引擎,它有如下三个极吸引人的特点:

1、Thymeleaf 在有网络和无网络的环境下皆可运行,即它可以让美工在浏览器查看页面的静态效果,也可以让程序员在服务器查看带数据的动态页面效果。这是由于它支持 html 原型,然后在 html 标签里增加额外的属性来达到模板+数据的展示方式。浏览器解释 html 时会忽略未定义的标签属性,所以 thymeleaf 的模板可以静态地运行;当有数据返回到页面时,Thymeleaf 标签会动态地替换掉静态内容,使页面动态显示。

2、Thymeleaf 开箱即用的特性。它提供标准和spring标准两种方言,可以直接套用模板实现JSTL、 OGNL表达式效果,避免每天套模板、该jstl、改标签的困扰。同时开发人员也可以扩展和创建自定义的方言。

3、Thymeleaf 提供spring标准方言和一个与 SpringMVC 完美集成的可选模块,可以快速的实现表单绑定、属性编辑器、国际化等功能。

5,Thymeleaf的相关语法

1,简单表达式   
  1、变量的表达式:${...}
  2、选择变量表达式:*{...}
  3、信息表达式:#{...}
  4、链接URL表达式:@{...}
2,面值
       1、文本文字:'one text', 'Another one!',…
  2、文字数量:0, 34, 3.0, 12.3,…
  3、布尔型常量:true, false
  4、空的文字:null
  5、文字标记:one, sometext, main,…
 
3,文处理
     1、字符串并置:+
  2、文字替换:|The name is ${name}|
 
4,表式基本对象
      
    1、#ctx:上下文对象
  2、#vars:上下文变量
  3、#locale:上下文语言环境
  4、#httpServletRequest:(只有在Web上下文)HttpServletRequest对象
  5、#httpSession:(只有在Web上下文)HttpSession对象。
      用法:<span th:text="${#locale.country}">US</span>.
 
5,实用工具对象 
      
#dates: java.util的实用方法。对象:日期格式、组件提取等.
#calendars:类似于#日期,但对于java.util。日历对象
#numbers:格式化数字对象的实用方法。
#strings:字符串对象的实用方法:包含startsWith,将/附加等。
#objects:实用方法的对象。
#bools:布尔评价的实用方法。
#arrays:数组的实用方法。
#lists:list集合。
#sets:set集合。
#maps:map集合。
#aggregates:实用程序方法用于创建聚集在数组或集合.
#messages:实用程序方法获取外部信息内部变量表达式,以同样的方式,因为它们将获得使用# {…}语法
#ids:实用程序方法来处理可能重复的id属性(例如,由于迭代)。
 

6,Thymeleaf代码提示功能

 

 
 
 
 

 

posted @ 2019-10-21 19:30  小丸子的西瓜梦  阅读(2623)  评论(0编辑  收藏  举报