上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 38 下一页
摘要: 转载自:http://www.cnblogs.com/aigongsi/archive/2012/04/06/2434771.htmljava与C,c++有很大的不同就是java语言开发者不需要关注内存信息,不会显式的直接操作内存,而是通过jvm虚拟机来实现。java虚拟机运行的时候内存分配图如下图:jvm虚拟机栈:一个是线程独有的,每次启动一个线程,就创建一个jvm虚拟机栈,线程退出的时候就销毁。这里面主要保存线程本地变量名和局部变量值。本地方法栈: 调用本地jni方法的时候而创建的。这里分配的jvm之外的内存空间。方法调用结束之后销毁。pc寄存器 : 这个保存线程当前执行的字节码指令堆:主 阅读全文
posted @ 2014-02-24 19:34 E_star 阅读(721) 评论(0) 推荐(0) 编辑
摘要: 互联网大势1、《浪潮之巅》:吴军,电子工业出版社,2011年讲述历史,揭示规律:从科技工业一百多年的发展,揭示那些站在技术革命的浪尖之上的公司成功的本质原因。2、《沸腾十五年:中国互联网1995-2009》:林军,中信出版社,2009年覆雨翻云的中国网事;荡气回肠的产业传奇;虚拟世界的真实讲述;万象网络的还原走笔。这本关于中国互联网产业历史的书,脉络清晰、生动鲜明地把这样一大批创业者的形象和他们的动人故事呈现在读者眼前,值得一读。3、《互联网进化论》:刘锋,清华大学出版社,2012年用全面、联系的观点看云计算,物联网、移动互联网与传统互联网:一本全方位地介绍互联网的技术要点和商业模式,深入探讨 阅读全文
posted @ 2014-02-24 15:31 E_star 阅读(894) 评论(0) 推荐(1) 编辑
摘要: 事务传播属性REQUIRED:业务方法需要在一个事务中运行。如果方法运行时,已经处在一个事务中,那么加入到该事务,否则为自己创建一个新的事务。NOT_SUPPORTED:声明方法不需要事务。如果方法没有关联到一个事务,容器不会为它开启事务。如果方法在一个事务中被调用,该事务会被挂起,在方法调用结束后,原先的事务便会恢复执行。REQUIRESNEW:属性表明不管是否存在事务,业务方法总会为自己发起一个新的事务。如果方法已经运行在一个事务中,则原有事务会被挂起,新的事务会被创建,直到方法执行结束,新事务才算结束,原先的事务才会恢复执行。MANDATORY:该属性指定业务方法只能在一个已经存在的事务 阅读全文
posted @ 2014-02-23 10:31 E_star 阅读(519) 评论(0) 推荐(0) 编辑
摘要: 1:配置数据源,如: 这一步完成之后我们可以进行数据的增删改查操作啦。注意使用到的Jar包写实体bean, 以及servive 层, 然后再xml中配置bean 以及为bean配置数据源; package cn.gbx.service.impl;import java.util.List;import javax.sql.DataSource;import org.springframework.jdbc.core.JdbcT... 阅读全文
posted @ 2014-02-23 09:53 E_star 阅读(894) 评论(0) 推荐(0) 编辑
摘要: 1: 首先我们要定义 配置成切面的类package cn.gbx.example;import org.aspectj.lang.ProceedingJoinPoint;import org.aspectj.lang.annotation.After;import org.aspectj.lang.annotation.AfterReturning;import org.aspectj.lang.annotation.AfterThrowing;import org.aspectj.lang.annotation.Around;import org.aspectj.lang.annotatio 阅读全文
posted @ 2014-02-22 16:21 E_star 阅读(329) 评论(0) 推荐(0) 编辑
摘要: ------------------------------------------要进行AOP编程,首先我们要在spring的配置文件中引入aop命名空间:Spring提供了两种切面声明方式,实际工作中我们可以选用其中一种:基于XML配置方式声明切面。基于注解方式声明切面自定的切面:(注意我们的切面一定要交给Spring管理才行,也即在XML文件里配置)package cn.gbx.example;import org.aspectj.lang.ProceedingJoinPoint;import org.aspectj.lang.annotation.After;import org.as 阅读全文
posted @ 2014-02-22 15:54 E_star 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 当我们用Proxy 实现Spring的AOP的时候, 我们的代理类必须实现了委托类的接口才能实现。 而如果代理类没有实现委托类的接口怎么办? 那么我们就可以通过CGLib来实现package cn.gbx.aop; import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy; import cn.gbx.service.impl.PersonService; public class ProxyFactory implements Invoca 阅读全文
posted @ 2014-02-22 13:09 E_star 阅读(601) 评论(0) 推荐(0) 编辑
摘要: 首先给出设计模式静态代理与动态代理的学习:http://layznet.iteye.com/blog/1182924 讲的不错然后我们实现AOP 就要求我们对委托的所有方法的调用实现拦截代理类生成的工厂package cn.gbx.aop;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;import cn.gbx.service.impl.PersonService;public class ProxyFactory impleme 阅读全文
posted @ 2014-02-22 09:54 E_star 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 通过在classpath自动扫描方式把组件纳入spring容器中管理前面的例子我们都是使用XML的bean定义来配置组件。在一个稍大的项目中,通常会有上百个组件,如果这些这组件采用xml的bean定义来配置,显然会增加配置文件的体积,查找及维护起来也不太方便。spring2.5为我们引入了组件自动扫描机制,他可以在类路径底下寻找标注了@Component、@Service、@Controller、@Repository注解的类,并把这些类纳入进spring容器中管理。它的作用和在xml文件中使用bean节点配置组件是一样的。要使用自动扫描机制,我们需要打开以下配置信息: 默认注册了注解处理.. 阅读全文
posted @ 2014-02-21 20:38 E_star 阅读(877) 评论(0) 推荐(0) 编辑
摘要: 首先分析。1: 肯定要利用dom4j读取xml配置文件,将所有的bean的配置信息读取出来2: 利用反射技术,实例化所有的bean3: 写注解处理器, 利用注解和内省实现依赖对象的注入。4: 利用XML中信息,通过内省beanUtils实现基本数据类型的注入实现:package cn.gbx.example;import java.beans.IntrospectionException;import java.beans.Introspector;import java.beans.PropertyDescriptor;import java.io.File;import java.lang 阅读全文
posted @ 2014-02-21 19:17 E_star 阅读(1548) 评论(0) 推荐(0) 编辑
摘要: 依赖注入: 使用构造器注入 使用属性setter方法注入 使用Field注入(用于注解方式)注入依赖对象可以采用手工装配或自动装配,在实际应用中建议使用手工装配,因为自动装配会产生未知情况,开发人员无法预见最终的装配结果。手工装配依赖对象,在这种方式中又有两种编程方式1. 在xml配置文件中,通过在bean节点下配置,如 //构造器注入 //属性setter方法注入2. 在java代码中使用@Autowired或@Resource注解方式进行装配。但我们需要在xml配置文件中配置以下信息: 这个配置隐式注册了多个对注释进行解析处理的处理器:AutowiredAnnotationBeanP... 阅读全文
posted @ 2014-02-21 11:01 E_star 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 1: 在给对象提供构造器public class PersonServiceImpl implements PersonService { private PersonDao personDao; private String name; public PersonServiceImpl(PersonDao personDao, String name) { super(); this.personDao = personDao; this.name = name; } public void save() { personDao.save(); System.out.pri... 阅读全文
posted @ 2014-02-21 10:54 E_star 阅读(434) 评论(0) 推荐(0) 编辑
摘要: 1: 首先给service添加集合类型的属性,并提供getter, setterpackage cn.gbx.serviceimpl;import java.util.ArrayList;import java.util.HashMap;import java.util.HashSet;import java.util.List;import java.util.Map;import java.util.Properties;import java.util.Set;import cn.gbx.daoimpl.PersonDao;import cn.gbx.service.PersonServ 阅读全文
posted @ 2014-02-21 10:02 E_star 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 注入bean有两种方式:注入其他bean:方式一 方式二(使用内部bean,但该bean不能被其他bean使用) 一般我们的工程在service层依赖dao层的实现来实现业务逻辑。service层:public class PersonServiceImpl implements PersonService { private PersonDao personDao; @Override public void save() { personDao.save(); System.out.println("service : " + " save 方法") 阅读全文
posted @ 2014-02-20 20:37 E_star 阅读(1267) 评论(0) 推荐(0) 编辑
摘要: 1: bean的创建: 如果我们默认的scope配置为Singleton的话, bean的创建实在Spring容器创建的时候创建; 如果scope的配置为Prototype的话,bena的创建是在getBean的时候创建的。 同样我们还可以在的配置中配置lazy-init = ”true“是bean的创建在getBean时。2: 我们有时候可能在bean完成之后可能想要打开一些资源。 我们可以配置init-method="init" init方法在调用了类的默认构造函数之后执行3: 如果我们想在bean销毁时,释放一些资源。 我们可以配置destroy-method=&qu 阅读全文
posted @ 2014-02-20 10:51 E_star 阅读(1811) 评论(0) 推荐(0) 编辑
摘要: 1.使用类构造器实例化 (90%以上都是使用这种)2.使用静态工厂方法实例化public class OrderFactory { public static OrderServiceBean createOrder(){ return new OrderServiceBean(); }}3.使用实例工厂方法实例化: 首先要实例化工厂public class OrderFactory { public OrderServiceBean createOrder(){ return new OrderServiceBean(); }} 阅读全文
posted @ 2014-02-20 09:50 E_star 阅读(2043) 评论(0) 推荐(0) 编辑
摘要: 1: 首先我们要利用dom4j进行xml的解析,将所有的bean的配置读取出来。2:利用java的反射机制进行对象的实例化。3: 直接获得对象package cn.Junit.test;import java.net.URL;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import org.dom4j.Document;import org.dom4j.Element;import org.dom4j.XPath;import org.dom4j.i 阅读全文
posted @ 2014-02-20 09:34 E_star 阅读(575) 评论(0) 推荐(0) 编辑
摘要: 由于spring的schema文件位于网络上,如果机器不能连接到网络,那么在编写配置信息时候就无法出现提示信息,解决方法有两种:1。让机器上网,eclipse会自动从网络上下载schema文件并缓存在硬盘上。2。手动添加schema文件,方法如下:windwos->preferences->myeclipse->files and editors->xml->xmlcatalog点"add",在出现的窗口中的Key Type中选择URI,在location中选"File system",然后在spring解压目录的dist/ 阅读全文
posted @ 2014-02-19 18:42 E_star 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 这里是采用的视频里面的spring版本下载spring2.5.6, 然后进行解压缩,在解压目录中找到下面jar文件,拷贝到类路径下dist\spring.jarlib\jakarta-commons\commons-logging.jar上边两个是基本的jar包。。如果使用了切面编程(AOP),还需要下列jar文件lib/aspectj/aspectjweaver.jar和aspectjrt.jarlib/cglib/cglib-nodep-2.1_3.jar如果使用了JSR-250中的注解,如@Resource/@PostConstruct/@PreDestroy,还需要下列jar文件lib 阅读全文
posted @ 2014-02-19 18:28 E_star 阅读(1503) 评论(0) 推荐(0) 编辑
摘要: Spring是什么? Spring是一个开源的控制反转(Inversion of Control ,IoC)和面向切面(AOP)的容器框架.它的主要目得是简化企业开发.IOC 控制反转: public class PersonServiceBean { private PersonDao personDao = new PersonDaoBean(); public void save(Person person){ personDao.save(person); }}PersonDaoBean 是在应用内部创建及维护的。所谓控制反转就是应... 阅读全文
posted @ 2014-02-19 15:14 E_star 阅读(202) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 38 下一页