`
文章列表
关于JSPUpload的介绍可以去google一下,jar和使用实例可以在下面附件中下载,在这里我使JSPUpload实现一个JavaWeb文件上传的功能。 JSP页面内容如下: <form method="POST" action="JspsmartUploadServlet" ENCTYPE="multipart/form-data"> <table> <tr><td><input type="text" name="subject ...
import java.lang.reflect.Method; import net.sf.cglib.proxy.Enhancer; import net.sf.cglib.proxy.MethodInterceptor; import net.sf.cglib.proxy.MethodProxy; /** * 使用CGLIB创建代理对象工厂 * * @author 张明学 */ public class CGLIBProxyFactory { /** * 使用CGLIB创建代理对象(实际是目标对象的子类,覆盖了父类对象的方法) * ...
作为一个应用Java的反射和注解的一个使用。 首简写一个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" xsi:schemaLocation="http://www.springframework.org ...
1。首先基于注解配置的AOP使用:(在学习Spring的AOP之前建意先去学习一下Java的JDK动态代理和CGLIB的代理技术,AOP是基于代理实现的,JDK的动态代理需要目标对象实现一个接口,若没有实现接口则可以使用CGLIB,它的代理对象是继承目标对象。) 目标对象的接口如下:   public interface PersonService { public abstract void save(String name); public abstract String getPersonName(String personId); public abstra ...
使用@Component,@Service,@Controller,@Repositroy可以完成不用XML配置也可以将Java组件交给Spring容器 JavaBean代码如下: package autoScan.dao; public interface StudentDao { public abstract void add(); }   @Repository @Scope("singleton") public class StudentDaoImple implements StudentDao { // @PostConstr ...
第一种方法:手动装配完成依赖注入 基于XML配置的: 1。通过set方法注入 <!-- 手动装配 通过setter方式注入 --> <!-- Spring的DI注入方式 --> <bean id="studao" class="di.dao.imple.StudentDaoImple"></bean> < ...
一、基于XML配置的Spring对Bean的实例化:有三种方式:类的构造器,静态工厂,实例工厂 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/ ...
/** * JDK 动态代理类分析(java.lang.reflect.Proxy使用) * * @author 张明学 * */ public class ProxyStudy { @SuppressWarnings("unchecked") public static void main(String[] args) throws Exception { // 动态代理类:通用指定类加载器,和接口产生一类 // getProxyClass()返回代理类的 java.lang.Class 对象,并向其提供类加载器和接口数组 ...
/** * Java 类加载器 * * @author 张明学 * */ public class ClassLoaderStudy { public static void main(String[] args) throws Exception { // 获取:加载ClassLoaderStudy的类加载器 System.out.println(ClassLoaderStudy.class.getClassLoader().getClass().getName());// AppClassLoader // 获取:加载ClassLoader ...
/** * JDK1.5 泛型 * * @author 张明学 * */ public class GenericStudy { @SuppressWarnings( { "unchecked", "unused" }) public static void main(String[] args) throws Exception { // 第1点:Java的泛型仅仅只是通用Java的编译器实现的,进行全安检查,编译成class文件后没有保留泛型信息 Collection<Integer> c1 ...
import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import com.mengya.EnumStudy; /** * 自己定义的一个 Annotation * * @author 张明学 * */ /** * 定义注解时可以加上@Retention注解:用来设置注释保留策略。 ...
/** * apache的Beanutils简单使用 * * @author 张明学 * */ public class BeanUtilsStudy { public static void main(String[] args) throws Exception { PersonBean pbean = new PersonBean("java", 12); pbean.setP("P属性"); // 定义几个属性名称 String propertyP = "p"; S ...
/** * Person JavaBean * * JavaBean的要求:有get,set方法,JavaBean的属性值是根据get,set方法后面的内容来确定的。 * * @author 张明学 * */ public class PersonBean { private String name; private int age; private Date birthday = new Date(); private String x; public PersonBean() { } public PersonBean(Stri ...
/** * 反射(构造方法,成员变量,普通方法,数组) * * @author 张明学 * */ public class ReflectStudy { @SuppressWarnings("unused") public static void main(String[] args) throws Exception {   System.out.println("--------1. 构造方法反射-------"); Class strClass = String.class; Constructo ...
/** * JDK1.5 枚举高级应用(向枚举值对象中添加变量和方法) * * @author 张明学 * */ public class EnumStudy { public static void main(String[] args) { WeekDay weekDay = WeekDay.SUN; System.out.println("对象本身:" + weekDay);// 对象本身:SUN System.out.println("枚举name方法" + weekDay.name());// ...
Global site tag (gtag.js) - Google Analytics