- 浏览: 84872 次
- 性别:
- 来自: 杭州
最新评论
-
xvshell:
写的通俗易懂
Spring温故知新(九)Spring自动代理 (系列第一部分完结篇) -
雅礼彭培:
写的好,理解了
Spring温故知新(九)Spring自动代理 (系列第一部分完结篇) -
gongjinglin1989:
大神,能指教1,2吗?我想请教几个问题,我们现在有做好得web ...
Hybrid App的实际运用项目 -
bolide74:
jacking124 写道恭喜你呀!!3Q
新年展望 -
bolide74:
zlex 写道不要泄密呀轩?我有hold住啊,没算泄密吧……
新年展望
文章列表
这一章我们将开始剖析Spring框架最为重要的AOP(Aspect Oriented Programming)面向切面编程。可以说Spring的精华就在于AOP了。
所谓AOP,就是相对于OOP(Object Oriented Programming)面向对象编程的说法,有些人喜欢叫面向切面编程,有些人喜欢叫做面向方面,事实上这两个都是指同一个东西,只是叫法不同。
我们传统的编程都是面向对象,就是说每个类都有它实际的意义。而面向切面略有不同,它在面向对象的基础上扩展了一下,它编程的时候不是先考虑的一个具体对象(比如用户类),而是先考虑的对象的行为或者功能。这个不是编程方法的不同,而是编程思维的转 ...
引用这是八爪很早以前在CSDN上看到过的一篇文章,一直收藏在自己的QQ空间里,昨天无意中又看到了,觉得不分享出来太可惜了,于是就重新转载了一次。
正如“打工皇帝”唐骏说:我觉得有两种人不要跟别人争利益和价值回报。第一种人就是刚刚进入企业的人,头5年千万不要说你能不能多给我一点儿工资,最重要的是能在企业里学到什么,对发展是不是有利……"
人总是从平坦中获得的教益少,从磨难中获得的教益多;从平坦中获得的教益浅,从磨难中获得的教益深。一个人在年轻时经历磨难,如能正确视之,冲出黑暗,那就是一个值得敬慕的人。最要紧的是先练好内功,毕业后这5年就是练内功的最佳时期 ...
如果有仔细研究过前一篇的《Spring温故知新(四)用HashMap写一个自己的Spring IoC简易容器吧!》http://bolide74.iteye.com/blog/1002610,那么这一章将会非常通俗易懂。
一、什么是Bean
Bean的直接意译,叫豆子。如果把一个Java应用程序当作一杯香浓的咖啡,那么Bean也就相当于煮这杯咖啡的咖啡豆,它是煮这杯咖啡的基础。
其实看过前一章的RobotBean代码,就能发现这个所谓的Bean其实就是一个POJO(简单的Java对象),只不过叫法不一样而已。
二、Spring的IoC容器:
首先要指出的是一些初学者可能会 ...
在介绍Spring的IoC容器之前,我首先要给大家介绍一下我刚刚花了仅仅10分钟就写出来的一个用HashMap而不是用XML来配置的IoC容器,然后剖析这段代码,彻底的撕碎初学者对于IoC概念的恐惧感(好像有点夸张了,哈哈!)
引用以下示例只为了解释原理而不是写一个成熟的IoC容器,因此尽可能的把与主题无关的代码给省略掉了,希望那些准备写自己的成熟容器的同学别学这个示例
首先还是亲切的Robot类:package com.iteye.bolide74.action;
public class RobotBean {
public String name;
public S ...
为了跟别人的有所区别,我这里直接就用接口来实现抽象工厂了,毕竟接口也是一个抽象类么。我想尝试用不一样的角度来介绍抽象工厂。
抽象工厂,怎么说呢,我觉得它是一个把代码工业化的模式,对于实现流水线式的功能的程序会更适合一点,但是灵活性不够,不适用于一些小程序。
以下沿用了机器人的例子。
首先要提出一个叫做“系列”的概念来区分跟“类型”区分。
什么叫系列呢? 就是指一个或者多个类型,它们的类型不同,但是他们拥有相同的属性和功能方法,典型的例子就是几种实现了相同的几个接口的类。那么它们就属于一个系列。
比如这里的机器人除了实现Speak打招呼功能,还额外实现了Clean打扫功能。如果Girlfri ...
本来今天打算介绍一下Spring的IoC容器,但是开了一早上的会感觉时间有点紧,今天写有点够呛。再加上看到昨天的访客大部分都对设计模式比较感兴趣,那么我就先提前介绍一下设计模式里也是比较重要的singleton单例模式。
单例模式之所以提前在这里介绍,是由于Spring框架里的bean,或者说组件,获取实例的时候都是默认的单例模式,这是在多线程开发的时候要尤其注意的地方。
那么什么是单例模式呢?我先引用一下别的地方抄来的理论介绍:
引用单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。
这个理 ...
引用首先多谢评论中的几位高手提供的另外几种算法思路!我发出这个博文也就是想表达这么一个意思:不要把算法思维都禁锢在那么几种逻辑方法内,事实上还有其他很多各种奇思妙想的更有趣的算法,就比如这个用数学特性 ...
学习Spring,所有教程都是从IoC和DI开始的,但是大部分教程对它们的介绍都很抽象,要是之前没系统的学习过设计模式的话理解起来就非常吃力。所以在这里我尽我的能力来解释这两个概念。
首先的重点,IoC并不是Spring特有的,它是一种设计模式,事实上只要掌握了原理,自己也可以写出一个IoC的实现方法。
一、DI(Dependency Injection)依赖注入可以称为IoC(Inversion of Control)控制反转,但是IoC不等于就是DI
这一点是很多初学者很容易产生错误的一个概念,因为很多教程都把DI和IoC放在一起说,就像堆和堆栈一样,容易让初学者以为他们 ...
今天本来打算写Spring温故知新系列的第二篇,不过突然想起一直都忘了学怎么用java来操作XML,这么重要的事情居然拖了这么久才想起来实在是太不应该了,于是今天就先练习一下用dom4j来操作XML。
其实dom4j这个库实在是太方便了,使用起来跟C#操作XML几乎没太大差别,也没什么难度,所以就先贴两段代码吧。
其中有几个要点:
1、如果只是创建一个XML文件,那么只需要导入dom4j-1.6.1.jar就可以了,路径如下:
spring-framework-2.5.6\lib\dom4j\dom4j-1.6.1.jar
如果是需要读取或者修改,那么就需要导入这个库内的另外 ...
这是我的JAVA学习笔记的第一篇,由于本身就不是写给外人看的,所以可能写的有些随意,而且由于水平有限还会出现一些个人的错误理解,欢迎无意中看到这一系列的高手指正,谢谢!
我当初开始学习JAVA,其实是直接从Spring开始啃的,因为草草扫了一遍JAVA的语法发现跟C#几乎是一摸一样,于是就跳过了。在加上之前对于设计模式也缺乏足够的了解,这也就导致了我学Spring的时候稍显吃力,所幸还是啃下来了。
本系列适用于已经对Spring有了初步了解,想要温故知新的同学。完全初学的估计看起来够呛,不过也可以先扫一遍,大概的了解一下,少走弯路。我会特别强调一下一些新手需要注意的东西,也是当初我初学的时候 ...
忘了是从哪个blog看到的有趣文章,说是身为程序员,每到一个新领域总是要以Hello,World为起点的,那我也学着发一个吧,哈哈!
当年毕业以后一直都在学一些很杂乱的东西,从现在来回顾过去,是一直在往前端工程师 ...
举例,输出N行的字符串"ABC",就要用3个线程,每个线程分别负责输出一个字符,输出结果应该为N行的"ABC"
我的思路是:
public class TestThead {
public static void main(String[] args) throws InterruptedException {
String str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; // 随便改什么字符串
int runCount = 500; // 任意次数
int strLength = s ...
public class firstNonRepeated {
public static void main(String[] args) {
String str = "tttts33sssaaa5aabtbbzz5Z";
int strLength = str.length();
str += str;
for (int index = 0; index < strLength; index++) {
int i = str.indexOf(str.charAt(index), index + 1);
if (i & ...