最近有跳槽的想法,所以故意复习了下 SpringBoot 的相关知识,复习得比较细。其中有些,我感觉是以前忽略掉的东西,比如 @Value 和 @ConfigurationProperties 的区别 。
什么是OGNL表达式? OGNL是Object Graphic Navigation Language 是操作对象属性的开源表达式。 Struts2框架使用OGNL作为默认的表达式语言。 为什么我们学习OGNL 在学习JSP的时候,我们已经学习过了EL表达式。EL表达式用起来也十分简单…我们在Struts2框架中也是可以使用EL表达式的…那么OGNL表达式好在哪里呢?? 支持对象方法调用,如xxx.doSomeSpecial() 支持类静态的方法调用和值访问,表达式的格式【例如:"@@floor(10.9)
1.面向对象的三大特性:封装性、继承性、多态性 封装: 封装使用的领悟: 1).生活层面:食品、快递、计算机、明星... 2).计算机层面: ①.模块、类、函数... ②.属性数据的封装与隐藏 权限修饰符的概念: public(公共的,范围最大) protected(收保护的)default(默认,缺省) private(私有的,范围最小) python语言没有以上这些关键字: 对于python的属性私有化使用:__来实现 在设计完类,外界创建对象通过.的形式访问(设置)属性, 可能会出现跟现实情况不符的混乱数据,那么我们就将属性的设置权没收(外界不能直接通过.调用属性), 在类的内部提供外界额外的访问方式(定义setter和getter方法), 并且在需要的时候,可以在函数的内部加入数据合法性的校验; 模板: 对于setter函数,命名:set属性名(首字母大写) 对于getter函数,命名:get属性名(首字母大写) 私有属性:__age 设置值(__age): def setAge(self,age): self.__age = age 获取值(__age): def getAge(self): return self.__age 演示封装性的使用--->属性的封装与隐藏(私有化)
表示获取的是data下forecast数组中所有的type字段值。获取值为:[“多云”,“中到大雨”,“多云”,“小雨”,“多云”]
用户定义的变量的这个值的后四位直接用${__Random(1000,9999,)}替换掉就可以了
一、OGNL概述 1.1 什么是OGNL OGNL的全称是对象图导航语言( object-graph Navigation Language),它是一种功能强大的开源表达式语言,使用这种表达式语言
1.结果页面 1.全局结果页面 当一些方法的返回值一样的时候并且需要跳转的页面也一样的时候就可以使用全局结果页面。 <package name="struts" extends="struts-default" namespace="/"> <global-results> <result name="done">index.jsp</result> </global-results> <action name="hello" class="demo01.Hello
作者个人研发的在高并发场景下,提供的简单、稳定、可扩展的延迟消息队列框架,具有精准的定时任务和延迟队列处理功能。自开源半年多以来,已成功为十几家中小型企业提供了精准定时调度方案,经受住了生产环境的考验。为使更多童鞋受益,现给出开源框架地址:
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包。
当将上述函数改成如下形式时,普通函数便变成了一个 generator 函数。这时候调用 odd_numbers(10) 不会执行 odd_numbers 函数,而是返回一个 generator 对象。
这是前端的JavaScript和JQuery的基础使用,对于日常使用来说,这些代码足够了。我写代码的时候经常忘记,写下常用的代码,用的时候直接看这些,免得再去百度了。文章内容以例子为主,一个例子胜过千言万语。
2.3.4 Web API -- MVC终结点 MVC与MVVM 模型绑定 自定义模型绑定器 模型验证 返回数据处理 MVC与MVVM MVC ASP.NET Core MVC 概述:https://
本文介绍Spring Boot中读取配置属性的几种方式,项目示例中用到的application.yml和application.properties定义如下:
2. #{} 占位符是为了获取值,获取的值用在 where 语句后,insert 语句后,update 语句。
表单提交图片,必须是post提交,并且添加enctype="multipart/form-data"上传图片
注意如果存在相同键值,比如说: a={'a':1,'b':2,'c':3,'aa':12} b= {'aa':11,'bb':22,'cc':33} 那么方法一\二\三得到结果为
ognl: object graph navigation language 对象导航图语言
一般在Django的视图函数中使用request.POST来获取请求体,request.POST是QueryDict类,通常作为dict来使用。
之前一直用的是cJSON库来封装和解析,写久了感觉实在太丑,又难维护,于是还是研究下QT原生的QJson是否有更优雅的方法来封装一些Json对象,果不其然,通过阅读QT开发文档发现,QT封装的Json非常强大,其中Json对象可以有很多种形式,我们看到qjsonobject.h中:
Java 8 引入了 Optional 类,用于解决空指针异常(NullPointerException)的问题。Optional 是一个容器类,可以包含一个非空的值或者表示值不存在。通过使用 Optional,我们可以更加优雅地处理可能为空的值,避免了繁琐的空值检查和异常处理。
Content-Type: application/json;charset=utf-8
此图例指南是legend()中可用文档的扩展 - 请在继续阅读本指南之前确保你熟悉该文档(见篇尾)的内容。
通过使用property可以将方法像属性一样获取值。使用setter对方法进行赋值操作
在JavaScript中,可以使用java.util.List来表示列表。要从该列表中获取值,需要先将其转换为适当的数据结构(如Array)并进行操作。
就是说它们在注册之后可以用在任何新创建的 Vue 根实例 (new Vue) 的模板中。下面是使用在root根示例下的first-component全局组件:
会话技术:Cookie(客户端),Session(服务端)。一次会话中包含多次请求和响应直到一端断开,在一次会话范围内多次请求间共享数据。 Cookie由服务器发送给客户端使用,供客户端多次使用。服务端:创建Cookie(Cookie对象的构造函数传入Cookie信息)、发送Cookie(response.addCookie方法传入参数),接收Cookie(getCookies)。 idea的Settings-->File and Code Templates-->Web-->Java code templates下可以修改Servlet Annoteated Class自动生成的代码以方便自定义自动生成。 服务器发送cookie保存在,响应头的set-cookie下的参数被客户端获取。当客户端再次请求数据时,请求头中的cookie字段添加了之前获取的cookie。 一次请求可以发送多个cookie键值对(多个Cookie对象通过addCookie方法添加),cookie默认在浏览器关闭时被销毁,可设置持久化存储到硬盘时间(Cookie的setMaxAge方法传入整数秒设定存活时间,0为删除,负数为默认方式) cookie在tomcat8之后支持中文数据(直接使用,但特殊字符仍需编码),在tomcat8之前需要编码(可以使用URLEncoder.encode方法decode解码)。cookie范围,默认情况下tomcat服务器多个项目的cookie不能共享(只能在当前虚拟目录下共享),可以使用setPath方法设置为/则可以共享。 不同的tomcat服务器直接的cookie也可以共享,使用setDomain(String path),设置一级域名,则可以在指定一级域名下共享。 浏览器下的cookie大小有限制(4kb,20个),用于存储少量,不太敏感的数据(不安全)。可以用于网页离线的信息设置和同步(不登录情况下的网页偏好设置)。
需实现Job接口,这个接口就一个execute()方法需要重写,方法内容就是具体的业务逻辑。如果是动态任务呢,比如取消订单,每次执行都是不同的订单号。这个时候就需要在创建任务(JobDetail)或者创建触发器(Trigger)的那里传入参数,然后在这里通过JobExecutionContext来获取参数进行处理,
以前没怎么用过easyUI,今天用到时间控件,又了解到了一点东西:在页面中通过js添加控件,需要主动渲染。 时间控件的样式
Java是一种广泛使用的编程语言,而集合是Java编程中不可或缺的一部分。在Java的集合框架中,HashMap是一个常用的数据结构,用于存储键值对。本文将深入介绍HashMap集合,从基础到高级用法,帮助您更好地理解和利用它。
EL 的全称是Expression Language 是一种表达式语言,该语言主要用于替换jsp页面中java的代码。
链接:blog.csdn.net/qq_39648029/article/details/108993476
Java并发编程里不得不提java提供的高并发工具包,JUC包提供丰富的并发编程工具类,因此学习Java并发编程,JUC包就是学习的基础。在学习JUC包之前,我们先了解一下JUC的基本功能模块.
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
python 字典操作提取key,value dictionaryName[key] = value
服务器接收到 http 协议的请求后,会根据 报文 创建 HttpRequest 对象视图函数的第一个参数是 HttpRequest 对象在 django.http 模块中定义了 HttpRequest 对象的 API。
RedisTemplate操作Redis,这一篇文章就够了(一) StringRedisTemplate和RedisTemplate的区别(二) StringRedisTemplate的一个小案例(三)
前言 动态类型语言,少了静态类型语言必须声明变量类型的累赘,但也缺失了编译时类型检查和编译时优化的好处。cljs虽然作为动态类型语言,但其提供Metadata让我们在必要的时候可选择地补充类型提示,以便提高代码可读性和供编译器优化使用。除了上述以外,Metadata还让我们在不影响对象本质的前提下,附加额外信息增强元编程能力。 Metadata附加的目标 首先要明确一点的是,Metadata不是任何对象/值都拥有的。只有如下的对象才可附加Metadata Symbol Var Collections(L
Map是Java中的一个集合接口,用于表示键值对映射关系。Map接口提供了一组方法,可以实现添加、获取、更新和删除键值对,而且在键上不能有重复元素。
Go的反射建立在两种类型上:Type和Value。它们都定义在reflect包中。Type代表Go的一个类型,是一个接口类型。Value代表Go的一个值,是一个结构体类型。
在 Java 8 里,引入了一个 Optional 类,该类是一个可以为 null 的容器对象。
注:当标签<s:properties>不给value属性时 默认取ValueStack取栈顶元素
1.配置文件 SpringBoot使用一个全局的配置文件,配置文件名是固定的; application.properties application.yml 配置文件的作用:修改SpringBoot的自动配置的默认值;SpringBoot在底层都给我们自动配置好; YAML 是一个标记语言;不是一个标记语言; 标记语言:以前的配置文件;大多使用的是xxx.xml文件; YAML 以数据为中心 YAML: server: port: 8081 XML: <server> <port>8081</port>
存取器描述: 注:当使用了getter或setter方法,不允许使用writable和value这两个属性
范围过滤器允许您根据一个范围值来过滤API数据。它通常用于获取一个特定范围内的对象或一组对象。在Django REST Framework中,可以使用django_filters.rest_framework.filters.RangeFilter类来实现范围过滤器。
SpringBoot使用一个全局的配置文件,配置文件名是固定的; •application.properties •application.yml 修改服务器端口
领取专属 10元无门槛券
手把手带您无忧上云