`
文章列表
简单的工厂模式  拥有三个角色 1  工厂角色  是简单工厂模式的核心,主要负责创建所有实例的内部逻辑 2  抽象产品角色  是简单工厂模式所创建的所有对象的父类,主要负责描述所有实例所共有的公共接口 3 具体产品角色  是简单工厂模式的创建目标,所有创建的对象都是充当这个角色的某个具体类的实例   应用情景  1  工厂类负责创建的对象比较少  2 客户之知道传人工人类的参数,对于任何创建对象不关心    3 一般只在比较简单的情况下使用    定义: 专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。简单工厂模式      又称为静态工厂方法模式,属于类的创建型模式,通 ...
Factory Method Pattern  (工厂方法模式) 定义: 又称工厂模式,也叫虚拟构造器模式或者多态工厂模式,属于类的创建型模式。在工厂方法模式中,      父类负责定义创建对象的公共接口,而子类则负责生成具体的对象,这样做的目的是将类的实例化      操作延迟到子类中完成,即由子类来决定究竟该实例化哪一个类。      类与对象的关系:   Product: 产生角色      定义产品的接口  ConcreteProduct: 真实的产品      实现接口Product的类   Creator: 工厂角色      声明工厂方法,返回一个产品      Concrete ...
定义:  动态的给一个对象增加其他职责(Responsibility),就增加对象功能来说,装饰模式比生成子类实现更灵活。   Sitemesh框架就是应用了装饰模式,Sithmesh是一个非常优秀的页面修饰框架,使用它可以动态的给页面加一些装饰 ...
bean.xml文件的配置 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:ao ...
bean.xml文件的配置(查文档) <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xml ...
Spring切面的定义有四种:    一,基于Annotation也就是@AspectJ的注解方式    二,基于<aop:aspect>的方式    三,基于<aop:advisor>的方式    四,基于Advisor类的方式   注:第四种一般不用,其他的看情况用   先看第一种基于Annotation的: beans.xml(此处要加aop和context的命名空间的名字和location,然后加那三个配置,第一个是基于annotation,第二个是自动检测组件,第三个就是aspectj的支持) <?xml version=" ...
先新建一个Annotation工程 package com.lbx.annotation; /** * 定义注解 */ import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Retention(value=RetentionPolicy.RUNTIME) //声明注解的保留期限 @Targe ...
AOP的实现者:      AspectJ ,  AspectWerkz,  JBoss AOP,  Spring AOP.      在Spring2.0中,Spring AOP , IoC和AspectJ整合到一起了。 要理解AOP就必须要先知道动态代理,Spring AOP底层使用了两种代理机制:一种是基于JDK的动态代理;一种是基于CGLib的动态代理。之所以要有两种代理机制,很大程度上是因为JDK本身只提供接口的代理,而不支持类的代理。   看api理解那几个专业名词 下面就是一个AspectJ产生代理的一个例子   先要让程序支持AspectJ,看bean.xml文件 ...
@PostConstruct和@PreDestroy的功能就相当于init()方法和destroy()方法的作用 @PostConstruct 构造函数完成后执行的方法 @PreDestroy 容器销毁之前执行的方法   @PostConstruct //构造函数完成后 public void init(){ System.out.println("UserServiceImpl.init()"); } @PreDestroy //容器销毁之前 public void destroy(){ System.out.println(& ...
要想检测这些类并注册相应的bean,需要在xml中包含以下元素,其中basePackage是两个类的公共父包   先看beans.xml的配置(<context:component-scan base-package="com.lbx" />) <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=&qu ...
要想知道怎样使用Annotation来配置bean就的知道命名空间: 一,    要先指定命名空间的名称 二,    指定命名空间的Schema文档样式文件的location   下面就是一个简单的基于Annotation配置的程序(在此程序中有多个userDao所以要指定是那个userDao) 注意:一般是使用@Resource不用@Autowired package com.lbx.service.impl; import org.springframework.beans.factory.annotation.Autowired; import org.spring ...
先看非静态的 先写一个简单工厂 package com.lbx.factory; import com.lbx.model.Car; /** * 这是非静态的工厂方法注入 * @author Administrator * */ public class CarFactory { public Car createHongQiCar(){ Car car = new Car(); car.setName("红旗"); car.setSpeed("200"); return car; } ...
第一中属性注入也就是setter注入(为属性提供相应的set和get方法) package com.lbx.service.impl; import com.lbx.dao.UserDao; import com.lbx.po.User; import com.lbx.service.UserService; public class UserServiceImpl implements UserService { private UserDao userDao; private String name; private String age; publi ...
一、使用JDOM的前提条件   须要有SAX、DOM解析器的类文件,JDOM只是一种适合Java程序员来使用的Java XML解析器,目前流行的Java XML解析器还有:Apache Xerces Java、JAXP。Xerces Java解析器是完全用Java编写的XML解析器,最新版本是2.5,它支持以下标准和API:(1) XML1.0规范(第二版本)(2) XML命名空间规范(3) DOM2核心标准规范(4) SAX2核心扩展(5) JAXP1.2 :是Sun提供的使用Java处理XML的接口API。(6) XML Schema结构和数据类型标准        还有最好的是它开放源代码 ...

反射机制

    博客分类:
  • J2SE
以下代码可以初步的了解反射 package com.lbx.test; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Method; import com.lbx.model.Person; public class TestReflection { /** * 测试获取Class对象 */ public static void testgetClassObject(){ //通过getClass来获 ...
Global site tag (gtag.js) - Google Analytics