zoukankan      html  css  js  c++  java
  • 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代码提示功能

     
     
     
     
  • 相关阅读:
    Git 分支管理
    Kubernetes 中文文档
    Docker 命令大全
    Redis 常用命令 大全
    Docker 资源汇总
    Docker 安装 Redis
    JavaScript闭包
    CSS选择器
    JavaScript类型转换
    javascript字符串处理方法
  • 原文地址:https://www.cnblogs.com/jacksonxiao/p/11715481.html
Copyright © 2011-2022 走看看