0%

在默认情况下,Spring 的应用上下文中所有的 bean 都是单例的形式创建的。也就是说,不管给定的一个 bean 被注入到其它 bean 多少次,每次注入的都是同一个实例。

在大多数情况下,单例 bean 是非常理想的方案。初始化和垃圾回收对象实例所带来的成本只留给一些小规模任务,在这些任务中,让对象保持无状态并且在应用中反复重用这些对象可能并不合理。

有时候你所使用的类可能是易变的,它们会保持一些状态,比如我们在 Web 购物商城中常见的购物车功能,不同的用户不可能同时使用同一个购物车实例,因此重用是不安全的。

阅读全文 »

之前的文章中已经看到了 Spring 的自动装配有很大的用处,它可以帮助我们快速的装配 bean,但是这里存在一个问题,在之前的装配中,仅有一个 bean 匹配所需的结果时,自动装配才是有效的。如果不仅只有一个 bean 能够匹配结果的话,这就会导致 Spring 不知道该装配哪个 bean 从而导致装配失败,例如下面这个例子,我们定义了一个 Dessert 接口,并且有三个类实现了这个接口,分别为 Cake、Cookies 和 IceCream:

阅读全文 »

一、c 命名空间

通过构造器注入 Bean 的时候通常需要使用到元素,作为替代的方案,可以使用 Spring 的 c - 命名空间。c - 命名空间是在 Spring 3.0 中加入的,它是在 XML 中更为简洁地描述构造器参数的方式。要使用 c - 命名空间,必须要在 XML 的顶部声明其模式,如下所示:

阅读全文 »

虽然很多场景下可以使用组件扫描和自动装配来实现 Spring 的自动化配置,但有些时候自动化配置的方案是行不通的,因此需要明确配置 Spring。比如你想讲第三方库中的组件装配到你的应用中,在这种情况下,你必须要显式装配。在进行显式配置的时候,有两种方案,Java 和 XML。

下面介绍通过 Java 代码显式装配 Bean。

阅读全文 »

做数据处理的人可能经常用到一些比如求中位数、众数、均值等等的常用数学方法,下面整理一些算法,由于都比较简单,不做过多的解释了,直接拿去用就好啦!

阅读全文 »

Ctrl+Shift + Enter,语句完成 “!”,否定完成,输入表达式时按 “!” 键
Ctrl+E,最近的文件
Ctrl+Shift+E,最近更改的文件 Shift+Click,可以关闭文件
Ctrl+[OR],可以跑到大括号的开头与结尾
Ctrl+F12,可以显示当前文件的结构
Ctrl+F7,可以查询当前元素在当前文件中的引用,然后按 F3 可以选择
Ctrl+N,可以快速打开类

阅读全文 »

在 Spring 中可以使用 Java 代码、XML 和自动化装配三种方式来装配 Bean。从便利性角度来说,最强大的还是 Spring 的自动化配置,如果 Spring 能够进行自动化装配的话,那何苦还要显式的将这些 Bean 装配在一起呢? Spring 从两个角度来实现自动化装配:

  • 组件扫描:Spring 会自动发现应用上下文中所创建的 Bean;
  • 自动装配:Spring 自动满足 bean 之间的依赖。

为了阐述组件扫描和装配,我们需要创建几个 Bean,它们代表了一个音响系统中的组件。

阅读全文 »

现在的笔记本显卡多为 Intel 核心显卡 + Nvidia 显卡的组合模式,如果没能正确的管理 Linux 操作系统的双显卡驱动,可能会导致发热和性能差的问题。由于我们在 Linux 中极少运行对显卡要求特别高的 3D 程序,因此并不需要一直开启 Nvidia 独立显卡,只在需要它的时候再开启就好,Bumblebee 提供了一个很棒的解决方案。 本文以 Fedora24 为例:

阅读全文 »

原文链接:蔓草札记 » WordPress 博客同步到 CSDN 插件

在没用 WordPress 博客前就在 CSDN 写了一些日志,后来自己搭建博客后,就希望能够将博客同步到 CSDN 中,无奈 CSDN 在 2011 年 7 月宣布暂不支持 Windows Live Writer 发布博文,直到在 2014 年 5 月 29 日才宣布重新让插件同步成为可能,不过目前网上搜到的插件现在都已经失效了。

阅读全文 »