`
bolide74
  • 浏览: 84872 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
这一章我们将开始剖析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 & ...
Global site tag (gtag.js) - Google Analytics