- 浏览: 286970 次
- 性别:
- 来自: 深圳
最新评论
-
cheetah_ysc:
不错不错,我喜欢!
Java固定时间间隔执行 -
voyage_mh:
阿选百度竟然一下可以吧你百度出来
使用DWR注解Annotation
文章列表
简单的工厂模式 拥有三个角色 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结构和数据类型标准 还有最好的是它开放源代码 ...
以下代码可以初步的了解反射
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来获 ...