Solon 开发 一.注入或手动获取配置 二.注入或手动获取Bean 三.构建一个Bean的三种方式 四.Bean 扫描的三种方式 五.切面与环绕拦截 六.提取Bean的函数进行定制开发 七.自定义注解开发汇总 八.注入依赖与初始化 1.定义构建能力注解,比如@Controller //注册 @Controller 构建器 Aop.context().beanBuilderAdd(Controller.class, (clz, bw, anno) -> { //内部实现,可参考项目源码 new…
一.背景 最近在自己搞一个项目时,遇到可需要开发自定义注解的需求,对于没有怎么关注这些java新特性的来说,比较尴尬,索性就拿出一些时间,来进行研究下自定义注解开发的步骤以及使用方式.今天在这里记下,方便以后学习复习以及分享给有需要的小伙伴们~ 二.注解基本概念 什么是注解? 注解就是某种注解类型的一个实例,我们可以用它在某个类上进行标注,这样编译器在编译我们的文件时,会根据我们自己设定的方法来编译类. 注解的分类有哪些? 由上图可知:注解共分为:标记注解.标准元注解.一般注解三类. 注:Dep…
Java实现自定义注解开发 一直都对注解开发挺好奇的,最近终于有时间自己实践了一把,记录一下 万一后期会用到呢 哈哈哈 首先我们了解一下自定义注解的标准示例,注解类使用 @interface 关键字修饰,且在注解类上方声明注解相关信息,包含以下四种信息 @Documented – 注解是否将包含在JavaDoc中 @Retention – 什么时候使用该注解 @Target – 注解用于什么地方 @Inherited – 是否允许子类继承该注解  1.)@Retention – 定义该注解的生命…
新建测试类 这里使用了main方法进行测试 InputStream需要抛出异常 写完进行测试 测试结果 讲解 把第一天的IUserDao.xml文件复制到当前的工程里面 红色的取值要用的.黄色的是执行要用的 找到方法就可以找到dao,又找到全限定类名 现在由于我们刚才复制了xml文件过来. 既有注解也有xml文件 执行查询的测试方法,就会报错 如果把注解删了就可以解决问题了. 如果这里没有设置package的属性 而是换成了mapper标签配置为了dao的xml映射文件的地址.这里用了class…
注解开发是省了IUserDao.xml这个映射文件里面的配置 环境搭建 首先是packaging标签.输入jar 需要准备一个实体类.生成getter和setter还有toString方法 创建dao接口.先写一个查询所有的接口 按照原来的要求需要在resources下创建Directory也就是文件夹 创建了com.itheima.dao这三个文件夹.为了演示用. 配置主配置文件SqlMapConfig.xmls 复制给的资料里面的config的约束 先输入configuration标签.然互…
在开发Android应用的过程中,难免需要自定义View,其实自定义View不难,只要了解原理,实现起来就没有那么难. 其主要原理就是继承View,重写构造方法.onDraw,(onMeasure)等函数.我自定义了个虚拟按键的View,效果图如下: 首先得自己写个自定义View类,这里我写了个VirtualKeyView类,继承自View类,实现了构造方法以及onDraw方法,以及实现了键盘按键的接口事件,实现代码如下: package com.czm.customview; import a…
新建Account实体类 生成getter和setter还有toString方法 先创建dao类 全局的配置,这里要改成package 创建多对一的关系 在查询的时候输出user这个对象的内容 建立查询的映射 account自己的数据封装完了. result的注解里面还有 one 和 many 点进去看One对象.select指向的就是如何查询用户的唯一标志 FetechType进去看源码 这里有一个lazy延迟加载.eager就是立即加载.实际开开发的时候,对一选择立即加载,对多选择延迟加载.…
执行两次都查询userId为57的数据.测试一级缓存 返回true 新建测试类 ,测试二级缓存 二级缓存的配置 首先是全局配置,不配置其实也是可以的.默认就是开启的.这里为了演示配置上 dao类里面进行配置 运行测试方法 只查询了一次…
一对多的配置,一个用户对应多个账户 需要在Accout里面增加根据用户的uid查询的方法 在user里面指定子一对多的查询配置 换行显示 测试 把这里注销掉.测试延迟加载,代码注释掉后,延迟加载就没有再执行.什么时候用才会去加载数据 测试只执行了 select *…
delete 51已经被删除掉了. 查询一个 findUserByName模糊查询 带百分号的情况 value这个参数是固定的 返回值为int类型的…