context

@PropertySouce注解

生来就可爱ヽ(ⅴ<●) 提交于 2020-02-25 07:28:37
1.@ProtertySource @PropertySouce是spring3.1开始引入的基于java config的注解。 通过@PropertySource注解将properties配置文件中的值存储到Spring的 Environment中,Environment接口提供方法去读取配置文件中的值,参数是properties文件中定义的key值。 2. 例子 比如有一个配置文件config.properties jdbc.driver = oracle.jdbc.driver.OracleDriver jdbc.url = jdbc\:oracle\:thin\:@(DESCRIPTION\=(ADDRESS\=(PROTOCOL\=TCP)(HOST\=10.221.129.208)(PORT\=1523))(CONNECT_DATA\=(SERVICE_NAME\=otatransuser))) jdbc.username= sassy jdbc.password = password 2.1 用法1- @PropertySource和@Value 创建java配置类 @Configuration @PropertySource("classpath:jdbc.properties") public class PropertiesWithJavaConfig {

Android之Widget

試著忘記壹切 提交于 2020-02-25 02:04:43
Android之Widget 其实Android API开发指南中的App Widgets章节 已经说得很清楚了,下面只是对自己的理解进行一次梳理。 -- AppWidget 就是HomeScreen上显示的小部件,提供直观的交互操作。通过在HomeScreen中长按,在弹出的对话框中选择Widget部件来进行创建,长按部件后并拖动到垃圾箱里进行删除。同一个Widget部件可以同时创建多个。 AppWidget的实现主要涉及到以下类: AppWidgetProvider RemoteViews AppWidgetManager 1. 首先需要提供一个定义了Widget界面布局的XML文件(位于res/layout/..),需要注意的是使用的组件必须是RemoteViews所支持的,目前原生API中支持的组件如下: FrameLayout LinearLayout RelativeLayout AnalogClock Button Chronmeter ImageButton ImageView ProgressBar TextView *如果使用了除此之外的组件,则在Widget创建时会导致android.view.InflateExceptionn异常。 PS:这就导致有一些功能或样式无法实现,如很基本的list或文本编辑框都是无法直接实现的

Spring Boot自动化配置原理

时间秒杀一切 提交于 2020-02-24 12:40:28
Spring Boot自动化配置原理依赖于 @Conditional 注解来实现: @Conditional是Spring4提供的一个新特性用于根据条件来控制Bean的创建行为。 我们从大家熟知的Spring Boot 的启动类开始 @SpringBootApplication public class DemoApplication { public static void main ( String [ ] args ) { SpringApplication . run ( DemoApplication . class , args ) ; } } @SpringBootApplication 注释,我们可以先从它开始分析,查看源码后可以发现它是一个包含许多注解的组合注解。 @Target ( { ElementType . TYPE } ) @Retention ( RetentionPolicy . RUNTIME ) @Documented @Inherited @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan ( excludeFilters = { @Filter ( type = FilterType . CUSTOM , classes = { TypeExcludeFilter

访问.阿里云的.tomcat管理器.

大兔子大兔子 提交于 2020-02-23 16:02:01
(2020-2-23 12:01:47) 修改/webapps/manager/META-INF/context.xml,注释掉value里内容 source 修改 /root/apache-tomcat-9.0.31/webapps/manager/META-INF 而不是.错误. [ root@*** apache-tomcat-9.0.31 ] # tree |grep -C 5 context.xml ├── conf │ ├── Catalina │ │ └── localhost │ ├── catalina.policy │ ├── catalina.properties │ ├── context.xml │ ├── jaspic-providers.xml │ ├── jaspic-providers.xsd │ ├── logging.properties │ ├── server.xml │ ├── tomcat-users.xml -- │ │ │ ├── asf-logo.svg │ │ │ └── tomcat.gif │ │ ├── index.jsp │ │ ├── manager.xml │ │ ├── META-INF │ │ │ └── context.xml │ │ └── WEB-INF │ │ ├── jsp │ │ │ ├── 401

注解实现

守給你的承諾、 提交于 2020-02-23 14:42:05
仍使用注解的代码结构 < ? xml version = "1.0" encoding = "UTF-8" ? > < beans xmlns = "http://www.springframework.org/schema/beans" xmlns : xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns : context = "http://www.springframework.org/schema/context" xsi : schemaLocation = " http : / / www . springframework . org / schema / beans https : / / www . springframework . org / schema / beans / spring - beans . xsd http : / / www . springframework . org / schema / context https : / / www . springframework . org / schema / context / spring - context . xsd" > < ! -- bean definitions here -- > < ! --

tomcat 访问权限设置

人盡茶涼 提交于 2020-02-23 10:59:59
1.全局设置,设置允许某些IP能够访问到tomcat服务器,或不能访问tomcat服务器 只需要编辑tomcat的server.xml,增加适当代码即可。 修改如下: 在<Host> </Host> 之中添加以下代码 1,只允许192.168.1.10访问: <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.10" deny=""/> 2,只允许192.168.1.*网段访问: <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.*" deny=""/> 3,只允许192.168.1.10、192.168.1.30访问: <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.10,192.168.1.30" deny=""/> 根据主机名进行限制: <Valve className="org.apache.catalina.valves.RemoteHostValve" allow="abc.com" deny=""/> 2.部分设置 例如我们有一个名为 webapps

AppWidgetProvider 应用

会有一股神秘感。 提交于 2020-02-23 09:01:39
AppWidgetProvider 应用 1、AppWidget 框架类 2、在 Android 如何使用 Widget 3、AppWidget 框架的主要类介绍 4、DEMO 讲解 1、AppWidget 框架类 1、AppWidgetProvider :继承自 BroadcastRecevier , 在AppWidget 应用 update、enable、disable 和 delete 时接收通知。其中,onUpdate、onReceive 是最常用到的方法,它们接收更新通知。 2、 AppWidgetProvderInfo:描述 AppWidget 的大小、更新频率和初始界面等信息,以XML 文件形式存在于应用的 res/xml/目录下。 3、AppWidgetManger :负责管理 AppWidget ,向 AppwidgetProvider 发送通知。 4、RemoteViews :一个可以在其他应用进程中运行的类,向 AppWidgetProvider 发送通知。 2、在 Android 如何使用 Widget 1、长按主界面 2、之后弹出一个对话框,里面就有android 内置的一些桌面组件 3、AppWidget 框架的主要类介绍 1) AppWidgetManger 类 bindAppWidgetId(int appWidgetId,

尝试用kotlin做一个app(二)

蹲街弑〆低调 提交于 2020-02-23 00:35:48
导航条 我想实现的效果是这样的 类似于ViewPager的效果,子类导航页面可以滑动,当滑动某个子类导航页面,导航线会平滑地向父类导航移动 · 添加布局 <!--导航分类:编程语言/技术文档/源码下载--> <LinearLayout android:id="@+id/homepage_nav" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_below="@+id/vp_homePageAd" > <TextView android:id="@+id/homepage_nav_prog" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="编程语言" android:textSize="17dp" android:textStyle="bold" android:layout_weight="1" android:gravity="center" /> <TextView android:id="@+id/homepage_nav_doc" android:layout

canvas-基础

本小妞迷上赌 提交于 2020-02-22 17:37:30
创建一个canvas HTML 创建canvas元素 <canvas id="canvas"></canvas> 设置宽高使用标签width,height属性,注意不能使用css或style样式 display默认为inline <canvas id="canvas" width="1024" height="768" style="border: 1px solid #ccc; display: block; margin: 0 auto;">当前浏览器不支持canvas,请更换浏览器后再试</canvas> JavaScript 获取canvas //获取canvas元素 var canvas = document.getElementById('canvas') //使用context进行绘制 var context = canvas.getCountext('2d'); 除了通过上面HTML属性设置canvas宽高之外,当然也可以用javascript来设置 canvas.width = 1024 canvas.height = 768 也可以使用javascript检测浏览器是否支持canvas if(canvas.getContext('2d')){ var context = canvas.getCountext('2d'); }else{ alert(

提高HTML5 canvas性能的几种方法

十年热恋 提交于 2020-02-22 06:17:03
简介 HTML5 canvas 最初起源于苹果(Apple)的一项实验,现在已经成为了web中受到广泛支持的2D 快速模式绘图 (2D immediate mode graphic )的标准。许多开发者现在利用它来实现众多的多媒体项目、可视化醒目以及游戏等等。然而,随着我们构建的应用程序的复杂度的增加,我们难免会遇到所谓的性能问题。 已经存在众多优化canvas性能的方法了,但是还没有一篇文章将这些方法系统的整理并加以分析。本文的目的就在于将这些方法整理、巩固以使其曾为 开发者们更容易理解、消化、吸收的资源。本文囊括了适用于所有计算机绘图环境(computer graphics environments)的最基本的优化方法,以及特定于canvas的优化方法。其中特定于canvas的优化方法可能会随着canvas实现方式的 更新而发生变化。特别的,当浏览器开发商实现了canvas GPU 加速时,我们探讨的某些优化方法可能会显得并不是特别有效,这些情况我们会在特定的地方标注出来。 请注意,本文侧重点不在于讨论HTML5 canvas的用法。如果想了解canvas的具体用法可以参见HTML5 Rocks网站中 canvas相关的文章 。比如 Dive into HTML5 chapter 以及 MDN tutorial 。 性能测试 为了处理飞速变化着的HTML5 canvas,