关闭

[置顶] mybatis源码解析之SqlSession接口。

*SqlSessions 由 SqlSessionFactory 实例创建的。SqlSessionFactory 对 象 包 含 创 建 SqlSession 实 例 的 所 有 方 法 。 而 SqlSessionFactory 本 身 是 由 SqlSessionFactoryBuilder 创建。* 那么我们先从 SqlSessionFactoryBuilder 开始 SqlSessi...
阅读(5079) 评论(2)

[置顶] sql查询优化

浅析sql查询优化开门见山,结合笔者工作中处理过的问题,以及前人的经验,总结几点有关sql查询优化时的注意问题。不完善之处还望多多指正。一、 避免全表扫描 全表扫描往往是由索引失效造成,那么什么情况下会造成索引失效? where字句中对字段进行运算或函数操作,where多子句的先后顺序(mysql自左向右来执行where字句)。n!=,<>, in, not in...
阅读(48152) 评论(0)

mybatis~configuration 之九子

configuration 配置 configuration 配置properties 属性settings 设置typeAliases 类型命名typeHandlers 类型处理器objectFactory 对象工厂plugins 插件environments 环境 environment 环境变量transactionManager 事务管理...
阅读(171) 评论(0)

spring-data-mongodb之查询

mongodb的查询方式很多种,此处只列举一些常用的,比如: 1.=查询 2.模糊查询 3.大于小于范围查询 4.in查询 5.or查询 6.查询一条,查询全部查询所有,返回List 根据作者查询所有符合条件的数据。Query query = Query.query(Criteria.where("author").is("LINLIN")); List blog= mong...
阅读(129) 评论(0)

@Resource与@Autowired的区别

spring2.5提供了基于注解(Annotation-based)的配置,我们可以通过注解来完成bean的注入。在Java代码中可以使用 @Resource或者@Autowired注解方式来经行注入。此处浅析下@Resource和@Autowired二者的异同。同: @Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上。 (两者如果...
阅读(91) 评论(0)

@Resource注解

之所以谈论@Resource注解,是因控制反转(IOC)引申而来,控制反转之所以叫控制反转,就是把对象的创建权赋予Spring容器,本来是程序猿New 对象,改为由Spring 注入对象。当然 注入什么? 注入到哪里?这些你得告诉Spring 。由此显出了@Resource的作用。 @Resource 注解被用来激活一个命名资源(named resource)的依赖注入,在JavaEE应用程序中,...
阅读(97) 评论(0)

where、having之间的区别和用法

聚合函数是比较where、having 的关键。 开门见山。where、聚合函数、having 在from后面的执行顺序: where>聚合函数(sum,min,max,avg,count)>having 列出group by来比较二者。()因where和having 在使用group by时问的最多) 若须引入聚合函数来对group by 结果进行过滤 则只能用having。(...
阅读(9525) 评论(0)

Bean 的生命周期

Bean 实例从创建到最后销毁,需要经过很多过程,执行很多生命周期方法。 Step1:调用无参构造器,创建实例对象。 Step2:调用参数的 setter,为属性注入值。 Step3:若Bean实现了BeanNameAware接口,则会执行接口方法setBeanName(String beanId),使 Bean 类可以获取其在容器中的 id 名称。 Step4:若 Bean 实现了 Bea...
阅读(167) 评论(0)

Bean 后处理器

Bean 后处理器是一种特殊的 Bean,容器中所有的 Bean 在初始化时,均会自动执行该类的两个方法。由于该 Bean 是由其它 Bean 自动调用执行,不是程序员手工调用,故此 Bean无须 id 属性。 需要做的是,在 Bean 后处理器类方法中,只要对 Bean 类与 Bean 类中的方法进行判断,就可实现对指定的 Bean 的指定方法进行功能扩展与增强。方法返回的 Bean 对象,即是...
阅读(167) 评论(1)

容器中 Bean 的作用域

当通过 Spring 容器创建一个 Bean 实例时,不仅可以完成 Bean 的实例化,还可以通过scope 属性,为 Bean 指定特定的作用域。Spring 支持 5 种作用域。 (1)singleton:单态模式。即在整个 Spring 容器中,使用 singleton 定义的 Bean 将是单例的,只有一个实例。默认为单态的。 (2)prototype:原型模式。即每次使用 getBea...
阅读(9934) 评论(0)

动态工厂 Bean和静态工厂Bean

动态工厂 Bean 有些时候,项目中需要通过工厂类来创建 Bean 实例,而不能像前面例子中似的,直接由 Spring 容器来装配 Bean 实例。使用工厂模式创建 Bean 实例,就会使工厂类与要创建的Bean 类耦合到一起。(1 )将动态工厂 Bean 作为普通 Bean 使用 将动态工厂 Bean 作为普通 Bean 来使用是指,在配置文件中注册过动态工厂 Bean 后,测试类直接通过...
阅读(159) 评论(0)

ApplicationContext 接口容器和BeanFactory 接口容器

ApplicationContext 接口容器 ApplicationContext 用于加载 Spring 的配置文件,在程序中充当“容器”的角色。其实现 类有两个。通过 Ctrl +T 查看: A 、配置文件在类路径下 若 Spring 配置文件存放在项目的类路径下,则使用 ClassPathXmlApplicationContext 实现类进行加载。 B 、配置文件在本地目...
阅读(24051) 评论(0)

HashSet源码解析

HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持。它不保证set 的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用null元素。对于HashSet而言,它是基于HashMap实现的,HashSet底层使用HashMap来保存所有元素,因此HashSet 的实现比较简单,相关HashSet的操作,基本上都是直接调用底层HashMap的相关方法来完成。HashSet的源...
阅读(727) 评论(0)

HashMap源码解析——get方法

public V get(Object key) { Node e; return (e = getNode(hash(key), key)) == null ? null : e.value; }getNode()方法 final Node getNode(int hash, Object key) { Node...
阅读(9734) 评论(0)

HashMap源码解析——put方法

public V put(K key, V value) { return putVal(hash(key), key, value, false, true); }先看hash(key)函数。它是通过key的hashCode值计算hash码。//计算hash值的方法 通过键的hashCode来计算static final int hash(Object key) {...
阅读(1029) 评论(0)

HashMap源码解析——构造方法

上篇博文列取了HashMap的关键属性,本篇主要看构造方法HashMap的几个构造方法: 补充下//加载因子 static final float DEFAULT_LOAD_FACTOR = 0.75f; //容量 static final int MAXIMUM_CAPACITY = 1 << 30; static final int MIN_TREEIFY_CAPACITY = 6...
阅读(1325) 评论(0)
48条 共4页1 2 3 4 下一页 尾页
    个人资料
    • 访问:450374次
    • 积分:3744
    • 等级:
    • 排名:第8895名
    • 原创:29篇
    • 转载:19篇
    • 译文:0篇
    • 评论:5条
    文章分类
    文章存档
    最新评论