自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

会飞行的猪

上海-何英

  • 博客(58)
  • 资源 (1)
  • 收藏
  • 关注

原创 Hibernate+spring+struts1的整合

现在一般的项目都是整合的struts2,现在也介绍下怎么样整合struts1,和struts2的整合有诸多类似的。 一.首先明确开发需要解决的问题确定使用的框架,使用的框架又需要引入必要jar包和其他辅助类jar包,所以第一步是引入一般情况下需要的jar包: Hibernate:hibernate3.jar lib\optional\ehcache\ehcache-1.5.0.jar slf

2016-03-30 15:39:41 569

原创 Spring+JDBC的简单配置和开发

目前很多的公司采用了spring+jdbc的配置开发项目,下面介绍怎么配置环境到开发时候的注意事项: ①引入必要的jar文件 JDBC驱动(mysql为例): mysql-connector-5.1.7.jar 数据库连接池(dbcp为例): commons-dbcp.jar commons-pool.jar spring核心必须包: spring.j

2016-03-28 17:23:05 8512

原创 AOP中通知技术

AOP中的通知可分为:前置,后置,异常,环绕,最终通知,在spring中,可以使用两种方式来实现这个技术:1.使用xml的配置实现①引入AOP命名空间:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://ww

2016-03-28 15:58:33 717

原创 AOP技术简介与简单实现

AOP:在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发

2016-03-28 10:45:12 1041

原创 浅析spring中注解的运行

为了了解注解的运行机制,需要自定义一个注解,如下方式来模拟注解方式实现注入对象: 1.新建一个自定义注解MyResource.java@Retention(RetentionPolicy.RUNTIME) // 定义注解有效期为运行期@Target({ElementType.FIELD,ElementType.METHOD}) // 定义可以注解的位置public @interface MyR

2016-03-25 16:34:01 508

原创 注入依赖对象手工装配

依赖对象的注入分手工装配和自动装配两种方式,在不是很清楚工具的情况下,还是建议手工装配避免很多不必要的错误,而手工装配依赖对象的注入分两种情况: 1.使用bean.xml文件通过构造器或者setter方式装配,这样会是让bean的配置文件过于庞大 2.使用Java中的注解机制 bean.xml的方式在前面已经介绍过,现在使用注解方式需要哪些必要配置,如下: 一. 引入命名空间<?xml ve

2016-03-25 14:48:06 648

原创 浅析使用Setter方法的注入bean的机制

首先按照spring使用属性注入其他的bean配置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" x

2016-03-25 11:05:44 515

原创 依赖注入的方式和注入的配置实例

Spring容器是一个IOC容器,通过反转拿到对象然后使用依赖注入到目标组件,下面使用依赖注入,把daobean注入到servicebean的来年各种方式: 首先看一下基本类型对象的注入: 1.使用构造器注入public class PersonServiceBean implements PersonService{ private PersonDao personDao; // 接口

2016-03-24 14:49:01 777

原创 Spring中bean初始化时机初始化方法和销毁方法

Spring只Bean加载机制默认情况下是初始化容器的时候就会直接初始化,但是也取决于是否使用了懒加载,如果使用到懒加载bean只会在实例化的时候才会加载,容器初始化时候则不加载。这样做不能使bean直接在容器初始化的时候暴露问题,而是在运行期才能暴露问题,所以要慎用懒加载,只有使用一些特定的功能的时候使用较好。同时可以配置初始化方法和销毁方法。 Example: bean.xml配置<?xml

2016-03-24 14:39:54 1471

原创 比较Spring中三种实例化Bean的方法

1 使用构造器实例化<!-- 调用默认构造器实现 --><bean id="personService" class="com.heying.service.impl.PersonServiceBean"/>2 使用静态工厂<!-- 通过id找到创建的工厂类,并使用注明的静态方法找到相应的method --><bean id="personService" class="com.heying.s

2016-03-23 16:52:40 523

原创 浅析Spring中ClassPathXmlApplicationContext()的装配过程

public class MyClassPathXmlApplicationContext { private List<XmlBeanDefinition> beanDefinitions = new ArrayList<XmlBeanDefinition>(); private Map<Object, Object> sigletons = new HashMap<Object,

2016-03-18 14:47:44 372

原创 Spring2.5的基本配置

学习Spring之前,先了解Spring到底是什么? spring是一个开源的控制反转(Inversion of Control ,简称IOC)和面向切面的(AOP)的容器框架,他主要的目的是简化企业开发。 (一)怎么理解控制反转? 看下面一个例子:Public class PersonServiceBean{ private PersonDao personDao = ne

2016-03-18 10:54:10 555

原创 Tomcat配置JNDI数据源

数据库连接池这个概念应该都不陌生,在Java中连接池也就是数据库的连接池,它是一种采用连接复用的思想避免多次连接造成资源的浪费机制。最常见的连接池就是DBCP和C30P了,在tomcat中默认使用的DBCP的连接池,在Hibernate中则默认使用的是C3P0。他们的区别对于使用者来说最明显的就是,默认情况下DBCP不提供空闲连接的释放,需要手动开启。tomcat目录下的context.xml里面配

2016-03-17 22:14:41 409

原创 Struts1的基本配置

要学习struts1,先了解struts1的特性和注意的事项: 1.struts1中是使用抽象类而不是接口,因此开发Action类继承一个抽象的基类; 2. struts1的Action是单例模式,并且必须是线程安全的,因为只有Action的一个实例来处理所有的请求,所以在开发的时候要格外小心,Action资源必须是线程安全的或同步的; 3. Struts1 Action的主要是通过ex

2016-03-17 15:02:01 631

原创 Reader读取文件

Reader in = new InputStreamReader(new BufferedInputStream(new FileInputStream("d.dat")),"UTF-8"); int c = in.read(); System.out.println((char)c); int a = in.read(); Syst

2016-03-16 15:20:42 1034

原创 使用RandomAccessFile进行文件的复制

RandomAccessFile src = new RandomAccessFile("JAVA_SE.rar","rw"); // 原文件 RandomAccessFile des = new RandomAccessFile("JAVA_SE_COPY.rar","rw"); // 目标文件 long start = System.currentTimeMi

2016-03-16 15:19:50 1642

原创 使用RandomAccessFile进行文件的读写

RandomAccessFile raf = new RandomAccessFile("test.txt","r"); byte[] buf = new byte[40]; int len = raf.read(buf); System.out.println("读取的字节>>>> "+len); System.out.println(

2016-03-16 15:17:30 476

原创 PrintWriter的使用写一行文本

PrintWriter out = new PrintWriter(new OutputStreamWriter(new BufferedOutputStream(new FileOutputStream("d.dat")),"UTF-8")); out.print("这是第一行"); out.print("这是第2行"); out.close();

2016-03-16 15:16:04 708

原创 持久化操作(写入文件)

FileOutputStream fos = new FileOutputStream("persion.obj"); ObjectOutputStream oos= new ObjectOutputStream(fos); List<String> list = new ArrayList<String>(); list.add("name1");

2016-03-16 15:13:17 292

原创 通过ObjectOutputStream序列化和使用ObjectInputStream反序列化

ObjectOutputStream oos = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream("test.dat"))); oos.writeObject("hello++++12345"); oos.writeObject("is verygood"); o

2016-03-16 15:12:25 663

原创 复制图像打水印

String src = "img.jpg"; // 源文件 String dec = "img_1.jpg";// 目标文件 /* * 1. 读取源文件为图像文件 * 2. 给Image对象绘制签名 * 3. 写出Image对象到文件系统 */ InputStream in = n

2016-03-16 15:10:30 315

原创 FileInputStream和FileOutputStream使用

1.FileInputStream FileInputStream fis = new FileInputStream("JAVA_SE.rar"); int d = fis.read(); System.out.println(d); System.out.println("--------------------------------

2016-03-16 15:08:31 292

原创 文件过滤器

/** * 文件过滤器 * @author Heying * */public class FileFlterDemo { public static void main(String[] args) throws Exception { File file = new File("./"); FileFilter filter = new MyFil

2016-03-16 15:01:50 216

原创 File文件的基本属性

File dir = new File("./"); // 当前目录// if(dir.exists()){// if(dir.isDirectory()){// String[] subs // = dir.list();// for(String name : subs){

2016-03-16 14:51:50 469

原创 字符格式化

String s = "ABCD中国人"; // Byte 数组 byte[] bytes = s.getBytes("UTF-8"); System.out.println(bytes.length); // 目前编码为utf-8 为13字节 byte序列 System.out.println(Arrays.toString(by

2016-03-16 14:49:55 257

原创 FileWriter和FileReader

// FileOutputStream fos = new FileOutputStream("test_2.txt");// OutputStreamWriter osw = new OutputStreamWriter(fos); /* * FileWriter可以向给定的文件中写出字符 * FileWriter不允许修改字

2016-03-16 14:48:02 277

原创 字符流定义字符集

BufferedReader bfr = new BufferedReader( new InputStreamReader( new BufferedInputStream( new FileInputStream("test.txt")

2016-03-16 11:28:56 341

原创 使用输入输出流实现文件复制

FileInputStream fis = new FileInputStream("JAVA_SE.rar"); FileOutputStream fos = new FileOutputStream("JAVA_SE_COPY.rar"); long start = System.c

2016-03-16 11:21:29 2299

原创 高级流实现数据的写入与读取

// 1. 写 DataOutputStream dos = new DataOutputStream( new BufferedOutputStream( new FileOutputStream("test.dat"))); // 整数拆4个byte写入到文件 dos.writeInt(0);

2016-03-16 11:20:02 625

原创 创建文件和目录

File file = new File("demo.txt"); if(!file.exists()){ file.createNewFile(); } File dirs = new File( "a" + File.separator + "b" + File

2016-03-16 10:32:11 326

原创 基于Socket和ServerSocket实现通信

服务器端:package socketClient;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.OutputStr

2016-03-15 17:59:10 438

原创 使用throw new Exception 向外层抛异常

public static void main(String[] args) { Human man = new Human(); try { man.setAge(120); } catch (Exception e) { e.printStackTrace(); } }

2016-03-15 17:55:05 8927

原创 异常抛出顺序从小到大

/** * 抛出异常里到外-小到大 * @author Heying * */ System.out.println("****start****"); try { String a = null; System.out.println(a.leng

2016-03-15 17:53:57 1041

原创 自然排序和自定义排序

/* * 自然排序 */ public static void sort1(){ List<String> list = new ArrayList<String>(); list.add("three"); list.add("one"); list.add("

2016-03-14 16:02:06 648

原创 队列进出原则

/** * 队列存取元素遵循先进先出原则 * @author Heying_He * */ public static void main(String[] args) { firstQueue(); System.out.println("**************FUN2*****************");

2016-03-14 15:59:20 4445

原创 遍历HashMap

Map<String, Integer> map = new HashMap<String, Integer>(); map.put("W1", 1); map.put("W2", 2); map.put("W3", 3); /* * 获取所有的key * Set keySet() *

2016-03-14 15:58:21 336

原创 重写比较

/** * 1.Object equals 方法 用于比较对象是否相等。<br/> * 2.比较是否是同一个对象(同一个体)使用 ==<br/> * 3.比较两个不同的对象,在逻辑上是否一样需要使用 equals 方法。<br/> * ##建议重写equals方法实现对象是否相等比较<br/> * @author Heying * */ public static void mai

2016-03-14 15:56:00 200

原创 迭代队列

Queue<String> queue = new LinkedList<String>(); queue.add("A"); queue.add("B"); queue.add("C"); queue.add("D"); queue.add("E"); queue.add("F"); Sys

2016-03-14 15:52:25 489

原创 集合转数组

LinkedList<String> l = new LinkedList<String>(); l.add("one"); l.add("two"); l.add("three"); System.out.println(l); Object []c = l.toArray(); for (int i =

2016-03-14 15:51:14 340

原创 Collection的一些基本方法

/** * 集合<br> * 1.int size():获取集合的元素个数<br> * 2.boolean add(E e):向集合中添加元素<br> * 3.boolean remove(Object o):删除给定的元素<br> * 4.boolean isEmpty():判断集合是否不含有元素<br> * 5.void clear():清除集合中所有元素<br> * 6.bool

2016-03-14 15:49:37 264

hibernate3.6参考文档中英文

hibernate3.6参考文档中英文

2016-04-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除