context

spinrgboot配置之@PropertySource和@ImportResource

北城余情 提交于 2020-03-26 09:04:46
一、@PropertySource:用于加载指定的配置文件 比如我们在resource下新建一个person.properties person.username=李四 person.age=12 person.email=zhangsan@qq.com person.maps.k1=v1 person.maps.k2=v2 person.lists=a,b,c person.dog.name=tom person.dog.age=2 在person.java中 package com.gong.springboot.bean; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.PropertySource; import org.springframework.stereotype.Component; import java.util.List; import java.util.Map; //将配置文件中的属性映射到组件中 //prefix

python基础 day8 文件操作

谁都会走 提交于 2020-03-26 07:34:23
Day8 笔记 文件操作 open 是python的内置函数,open底层调用的是操作系统的接口 f1:就是个变量,专业名词:文件句柄。一般命名f1,fh,file_handler,f_h等等,对文件进行任何操作,都要通过文件句柄。 encoding='' 可以不写,如果不写的话,默认编码本就是操作系统的默认编码 windows:gbk linux:utf-8 mac:utf-8 mode='' 打开方式,r只读,w写入,a追加…… f1.close() 关闭文件句柄 f1 = open(r'd:\temp\day8test1.txt', encoding='utf-8', mode='r') content = f1.read() print(content) f1.close() 1.文件操作的读 # 1.全部读出来 f1 = open(r'd:\temp\day8test1.txt', 'r', encoding='utf-8', ) context = f1.read() print(context) f1.close() # 2.按照字符读取 f1 = open(r'd:\temp\day8test1.txt', 'r', encoding='utf-8', ) context = f1.read(3) print(context) f1.close() # 3

ScrollView嵌套EditText联带滑动的解决的方法

寵の児 提交于 2020-03-26 05:15:54
本篇文章的相关内容需结合上文: 从ScrollView嵌套EditText的滑动事件冲突分析触摸事件的分发机制以及TextView的简要实现和冲突的解决的方法 在说完了怎样解决ScrollView嵌套EditText的滑动事件冲突之后。我们接下来说一下怎样实现它们两者之间的联带滑动。什么是联带滑动呢,就是当EditText滑动究竟部的时候,这时就应该让外部的ScrollView跟着滑动,好让它们之间完毕连贯的滑动事件,就是我们这篇文章的目的。详细效果就像以下这样: 上图是一个GIF图片。所以有些卡顿的效果。实际上效果是很流畅的。那么实现这样的效果该怎么做呢? 我们知道,子View能够依据requestDisallowInterceptTouchEvent方法来请求是否同意其祖父布局拦截本次的触摸事件。那么,我们就有了初步的解决的方法。就是,在须要的时候,不要让祖父布局拦截事件,在不须要的时候,让它们拦截,这时。事件就会被交给祖父布局来处理,并会让ScrollView滑动起来。 上篇文章,我们已经对这一步做了主要的处理。假设你已经依照上文实现了的话,发现并没有依照想象中的那样实现本效果。那么是哪里出现了问题。是哪里还有问题吗? 细心的同学能够发现,我们在onScrollChanged方法中对到达顶部和底部时做了处理,同意祖父布局对事件进行拦截。 可是,假设做了调试的话

Asp.Net Core AuthorizeAttribute 和AuthorizeFilter 跟进及源码解读

最后都变了- 提交于 2020-03-25 07:49:13
一、前言 IdentityServer4 已经分享了一些应用实战的文章,从架构到授权中心的落地应用,也伴随着对 IdentityServer4 掌握了一些使用规则,但是很多原理性东西还是一知半解,故我这里持续性来带大家一起来解读它的相关源代码,本文先来看看为什么 Controller 或者 Action 中添加 Authorize 或者全局中添加 AuthorizeFilter 过滤器就可以实现该资源受到保护,需要通过 access_token 才能通过相关的授权呢?今天我带大家来了解 AuthorizeAttribute 和 AuthorizeFilter 的关系及代码解读。 二、代码解读 解读之前我们先来看看下面两种标注授权方式的代码: 标注方式 [Authorize] [HttpGet] public async Task<object> Get() { var userId = User.UserId(); return new { name = User.Name(), userId = userId, displayName = User.DisplayName(), merchantId = User.MerchantId(), }; } 代码中通过 [Authorize] 标注来限制该api资源的访问 全局方式 public void

asp.net core MVC 全局过滤器之ExceptionFilter过滤器

 ̄綄美尐妖づ 提交于 2020-03-25 03:02:16
这个是网上搜到的,觉的说的听清楚的,转发下,原文地址 https://www.jb51.net/article/121970.htm 简介 异常过滤器,顾名思义,就是当程序发生异常时所使用的过滤器。用于在系统出现未捕获异常时的处理。 实现一个自定义异常过滤器 自定义一个全局异常过滤器需要实现IExceptionFilter接口 1 2 3 4 5 6 7 public class HttpGlobalExceptionFilter : IExceptionFilter { public void OnException(ExceptionContext context) { throw new NotImplementedException(); } } IExceptionFilter接口会要求实现OnException方法,当系统发生未捕获异常时就会触发这个方法。OnException方法有一个ExceptionContext异常上下文,其中包含了具体的异常信息,HttpContext及mvc路由信息。系统一旦出现未捕获异常后,比较常见的做法就是使用日志工具,将异常的详细信息记录下来,方便修正调试。下面是日志记录的实现。   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

DensityUtil【尺寸转换工具类(px、dp互相转换)】

可紊 提交于 2020-03-25 00:56:23
版权声明:本文为 HaiyuKing 原创文章,转载请注明出处! 前言 用于项目中dp、px、sp之间的转换以及指定缩放值下的转换。 效果图 暂不需要 代码分析 常用的方法是px2dip、dip2px; px2dipRatio、dip2pxRatio方法的应用场景可以理解为一个占满全屏的控件,要求等比例缩放显示到占原屏幕0.95的容器中。此时,可以考虑 使用这两个方法对这个控件的宽度和高度值进行等比例缩放。 使用步骤 一、项目组织结构图 注意事项: 1、导入类文件后需要change包名以及重新import R文件路径 2、Values目录下的文件(strings.xml、dimens.xml、colors.xml等),如果项目中存在,则复制里面的内容,不要整个覆盖 二、导入步骤 将DensityUtil文件复制到项目中即可。 package com.why.project.densityutildemo.util; import android.content.Context; import android.util.DisplayMetrics; /** * Used 尺寸转换工具类(全) */ public class DensityUtil { public static float RATIO = 0.95F;//缩放比例值 /** * px 转 dp【按照一定的比例】*/

Spring---ApplicationContext的事件机制

假装没事ソ 提交于 2020-03-24 07:45:22
事件源:ApplicationContext。publishEvent()方法:用于主动触发容器事件。 事件:ApplicationEvent类,容器事件,必须由ApplicationContext发布。 事件监听器:ApplicationListener接口,可由容器中任何监听器Bean担任。onApplicationEvent(ApplicationEvent event):每当容器内发生任何事件时,此方法都被触发 容器事件类需继承ApplicationEvent类,容器事件的监听器类需实现ApplicationListener接口。 下面给出一个例子 1.首先定义一个EmailEvent类,继承ApplicationEvent类 public class EmailEvent extends ApplicationEvent { private String address; private String text; public EmailEvent(Object source) { super(source); } public EmailEvent(Object source, String address, String text) { super(source); this.address = address; this.text = text; } public

Spring 事件(2)- 自定义事件

南笙酒味 提交于 2020-03-24 07:34:50
Spring 系列教程 Spring 框架介绍 Spring 框架模块 Spring开发环境搭建(Eclipse) 创建一个简单的Spring应用 Spring 控制反转容器(Inversion of Control – IOC) 理解依赖注入(DI – Dependency Injection) Bean XML 配置(1)- 通过XML配置加载Bean Bean XML 配置(2)- Bean作用域与生命周期回调方法配置 Bean XML 配置(3)- 依赖注入配置 Bean XML 配置(4)- 自动装配 Bean 注解(Annotation)配置(1)- 通过注解加载Bean Bean 注解(Annotation)配置(2)- Bean作用域与生命周期回调方法配置 Bean 注解(Annotation)配置(3)- 依赖注入配置 Bean Java配置 Spring 面向切面编程(AOP) Spring 事件(1)- 内置事件 Spring 事件(2)- 自定义事件 除了内置事件,Spring中也可以使用自定义事件。 怎样使用自定义事件: 创建事件类 - 扩展 ApplicationEvent 类,创建事件类。 创建发送类 - 发送类获取 ApplicationEventPublisher 实例发送事件。 创建监听类 - 实现 ApplicationListener 接口

spring错误<context:property-placeholder>:Could not resolve placeholder XXX in string value XXX

只谈情不闲聊 提交于 2020-03-24 07:05:44
spring同时集成redis和mongodb时遇到多个资源文件加载的问题 这两天平台中集成redis和mongodb遇到一个问题 单独集成redis和单独集成mongodb时都可以正常启动程序,但是当两个同时集成进去时就会报以下问题 Could not resolve placeholder 'mongo.port' in string value "${mongo.port} 百思不得解后,经多方搜集查证,终于找到问题原因。 在spring的xml配置文件中当有多个*.properties文件需要加载时。 应该这样使用使用 <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>classpath*:mongodb.properties</value> </list> </property> <property name="ignoreUnresolvablePlaceholders" value="true" /> </bean> 或者 <context:property-placeholder location="classpath*:redis.properties"

SpringMVC 集成 Velocity 模板引擎

只谈情不闲聊 提交于 2020-03-24 01:23:13
本文通过 maven 项目中集成 1、引入 SpringMVC 与 Velocity 需要的依赖 <!-- SpringMVC --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.3.7.RELEASE</version> </dependency> <!-- velocity --> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity</artifactId> <version>1.7</version> </dependency> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-tools</artifactId> <version>2.0</version> </dependency> 2、在resources 目录下创建 SpringMVC 框架配置文件 dispatcherServlet.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www