java
文章平均质量分 74
琴无续弦
加油
展开
-
servlet中反射应用
1.首先是BaseServlet/** * 通用的servlet */public class BaseServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void service(HttpServletRequest request, HttpServletR...原创 2018-05-30 21:09:55 · 1353 阅读 · 0 评论 -
HashMap取数据三种方法
public static void main(String[] args) { HashMap<String, String> map = new HashMap<>(); map.put("1", "aa"); map.put("2", "aa"); map.put("3", "cc"); ...原创 2019-03-19 09:21:56 · 10321 阅读 · 0 评论 -
File基本使用
public static void main(String[] args) throws IOException { String path; path = "e:/abc/f2.txt"; File f = new File(path); System.out.println("文件名:" + f.getName()); System.out.println("父目...原创 2019-03-27 09:31:54 · 1784 阅读 · 0 评论 -
Spring实战06——AOP通知之xml配置
例子同上一文1.接口package com.qhf.aop.example03;public interface Performance { public void perform();}2.表演实现类package com.qhf.aop.example03;public class PerformanceImpl implements Performanc...原创 2019-04-02 14:56:47 · 117 阅读 · 0 评论 -
Spring实战08——为bean对象引入新方法
在前面的切面学习中,注意到可以在对象.方法运行前后引入切面,执行通知代码,这本来就执行了多个方法,看起来却是像是对象的多个方法。切面只是实现了它们所包装的bean 相同接口的代理,如果除了实现这些接口,代理也能暴露新接口的话,切面所通知的bean看起来像是实现了新的接口,即便底层实现类并没有实现这些接口也无所谓。当引入接口的方法即通知被调用时,代理会把此调用委托给实现了新接口的某个其他对象。实...原创 2019-04-02 20:32:33 · 440 阅读 · 0 评论 -
Spring实战09——AOP之注入AspectJ切面
回顾一下:Spring 的四种4种类型的AOP支持:* 1.基于代理的经典SpringAOP* 2.纯POJO切面* 3.@AspectJ注解驱动的切面* 4.注入式AspectJ切面前三种都是Spring AOP实现的变体,Spring AOP构建在动态代理之上,因此Spring 对AOP 的支持局限于方法拦截器,Spring 的AOP 无法把通知应用于对象的创建过程(构造方法)...原创 2019-04-03 15:40:21 · 542 阅读 · 5 评论 -
Spring实战10——基于配置类搭建SpringMVC
Spring MVC 的请求两个关键词:DispatcherServlet 和Spring 应用上下文,Spring 应用上下文位于应用程序的Servlet 上下文中。* .继承AbstractAnnotationConfigDispatcherServletInitializer 的任意类都会自动地配置DispatcherServlet 和Spring 应用上下文* .在...原创 2019-04-09 16:11:12 · 259 阅读 · 0 评论 -
Spring实战11——SpringMVC模型
1.Entity:学生类public class Student { private String id; private String name; private int age; public Student() { super(); } public Student(String id, String name, int age) { super(); t...原创 2019-04-09 17:06:15 · 195 阅读 · 0 评论 -
Spring实战12——SpringMVC参数与表单校验
SpringMVC 允许多种方式将客户端的数据传送到控制器的处理器方法中,包括:*.查询参数*.表单参数*.路径变量表单校验:可以使用Spring 对Java 校验API(Java Validation API,又称JSR-303),需要添加两个依赖:javax.validation.constrains 和 hibernate-validator1.对于校验,需要在en...原创 2019-04-09 17:34:14 · 207 阅读 · 0 评论 -
Spring实战14——跨重定向传递数据
必备知识:SpringMVC 中的重定向与转发:转发:forward:+ url。请求转发类型是不会变的,比如post 请求,那么转发后调用的方法也是post 请求类型。重定向:redirect:+ url。重定向后是发起一个新的Get 请求,model 中的属性和值以参数形式附加在get 请求的url 上。原来的请求和模型消失。这里讨论重定向如何带参数的两种方式:1.通过ur...原创 2019-04-15 11:38:06 · 175 阅读 · 0 评论 -
Spring实战15——Spring MVC文件上传
文件上传两种方法:1.CommonsMultipartResolver:使用Jakarta Commons FileUpload 解析 multipart 请求。Spring 3.1 前。2.StandardServletMultipartResolver:依赖于Servlet 3.0对multipart 请求的支持。Spring 3.1后。使用StandardServletMu...原创 2019-04-15 15:22:17 · 157 阅读 · 0 评论 -
Spring实战16——Spring MVC 异常处理
为基础控制器类添加通知,统一处理多个控制器类抛出的异常:1.在自定义异常类中添加@ResponseStatus注解,将映射为某一个http状态码@ResponseStatus(value=HttpStatus.EXPECTATION_FAILED, reason="can't upload")public class FailToUploadException extends Runt...原创 2019-04-15 15:42:02 · 108 阅读 · 0 评论 -
Serializable 序列化笔记
序列化和反序列化是java中进行数据存储和数据传输的一种方式。序列化是把对象转化为字节的过程,反序列化反之。 序列化的场景?网络通信中以字节传输 数据的存储如何序列化?实现Serializable 接口 实现Externalizable 接口,其中Externalizable 接口继承了Serializable 接口需求:将User 类序列化到 test.txt 文件中(1)Use...原创 2019-04-24 09:23:20 · 185 阅读 · 0 评论 -
注解和反射笔记
自定义两个注解@Target({ElementType.CONSTRUCTOR, ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)//运行时加载Annotation 到JVM 中,只有此状态可通过反射获取注解的信息。@interface A { String value() default "默认构造方法";//成员}@Ta...原创 2019-04-25 11:50:16 · 127 阅读 · 0 评论 -
堆排序 java 实现
public class HeepSort { private static void heepSort(int[] arr) { int n = arr.length; int[] a = new int[n+1];//堆排序只能从1开始,新建一个从1开始的数组 for(int i = 1; i < a.length; i++) { a[i] = arr[i-...原创 2019-05-06 15:24:53 · 153 阅读 · 0 评论 -
Spring实战01——自动化装配bean
自动装配bean 的四种方式:首先定义一个类,使用@Configuration 标注类成为配置类,然后有下面四种方式:1.配置类使用@ComponentScan 注解扫描指定包下的类,默认是扫描同包下的类,使用@Component 标注实现类2.配置类方法中使用@Bean 注解返回接口类类型的方法3.使用配置文件,配置类使用@ImportResource("classpath:xx...原创 2019-03-13 19:58:27 · 280 阅读 · 0 评论 -
Java画图4
public class PaintUtil4 extends JPanel { /** * 动态图片+鼠标 */ private static final long serialVersionUID = -5247450804494766145L; private static BufferedImage image; int y = 0; int y1 = -600; i...原创 2019-03-12 23:46:01 · 220 阅读 · 0 评论 -
Java画图3
public class PaintUtil3 extends JPanel{ /** * 动态图片 */ private static final long serialVersionUID = -5247450804494766145L; private static BufferedImage image; int y = 0; int y1 = -600; st...原创 2019-03-12 23:43:26 · 223 阅读 · 0 评论 -
java实现redis的基本命令
import java.util.ArrayList;import java.util.HashMap;import java.util.HashSet;import java.util.Iterator;import java.util.Map;import redis.clients.jedis.Jedis;import redis.clients.jedis.ZParams...原创 2018-08-25 18:30:09 · 1722 阅读 · 0 评论 -
ssm中配置加密解密信息
1、在spring-dao.xml 中配置bean 需注释 <context:property-placeholder location="classpath:jdbc.properties,classpath:redis.properties"/>,默认表示从 .properties 文件中属性值以String 形式转换到配置文 件中的 ${ } 值中 ...原创 2019-02-21 01:34:57 · 1065 阅读 · 0 评论 -
ssm中redis配置
1、在spring-redis.xml 中 <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"> <!-- 一个pool最多可分配多少各jedis实例 --> <property name="maxTotal" value="${red.原创 2019-02-21 01:58:14 · 1052 阅读 · 0 评论 -
Spring实战——手动装配 bean
当类是用外部引入的类时,难以在类中添加@Component标注,所以不能通过扫描标注来扫描,要在配置类中声明beanCD抽象类和实现类AvrilCD,没有@Component标注public interface CD { void play();}public class AvrilCD implements CD { public void play...原创 2019-03-14 19:24:32 · 920 阅读 · 0 评论 -
Spring实战——xml 配置bean 和property属性
*使用xml配置文件* 首先把xml配置文件放在classpath位置 main/resources 下,不能是java源文件位置下(似乎不起作用)* 然后在CDPlayerConfig 类添加标注@ImportResource("classpath:JavaConfig1.xml")CD抽象类及实现类BlankDiscpublic interface CD { ...原创 2019-03-14 19:37:20 · 5987 阅读 · 0 评论 -
Spring实战——导入和混合配置bean
首先是自动配置部分CD抽象类和AvrilCD实现类,使用自动配置public interface CD { void play();}public class AvrilCD implements CD { public void play() { System.out.println("AvrilCD"); }}配置类:@C...原创 2019-03-14 19:58:02 · 180 阅读 · 0 评论 -
桥接模式
A1 A2 与 B1 B2 组合通常情况下定义A接口或抽象类,A1 A2实现或继承A,然后A1B1和A1B2继承A1,A2B1和A2B2继承A2,各自输出。这样做关联关系是强关联,桥接模式将抽象化和实现化解耦(分离),即将强关联转成弱关联。//抽象化角色public abstract class A { B b;//A不能为接口,不然这里定义属性为final类型 public ...原创 2019-03-11 15:19:55 · 120 阅读 · 0 评论 -
对象的创建过程
package com.qhf.day012;public class ObjectCreateProcess02 { public static void main(String[] args) { new B(); System.out.println("-----"); new B(); }}class A{ A(){ System.out.println(...原创 2019-03-16 15:28:07 · 123 阅读 · 0 评论 -
策略模式
/** * 抽象决策类 * @author Walker * */public abstract class Strategy { public abstract void backupDatabase();}/** * 具体策略类 * @author Walker * */public class StrategyA extends Strategy{ ...原创 2019-03-16 16:11:45 · 83 阅读 · 0 评论 -
责任链模式
//抽象处理者public abstract class Handler { protected Handler successor = null; public Handler getSuccessor() { return successor; } public void setSuccessor(Handler successor) { this.successor ...原创 2019-03-16 17:51:07 · 94 阅读 · 0 评论 -
装饰模式
有抽象类名为早餐,现在具体的食物只需继承早餐抽象类,就可以作为早餐。具体构件类,如只有breakfast抽象类和Hamburger类,满足需求。如果需求改变,hamburger需要加料,又不能或不想改变Hamburger类,那么需要用装饰者模式,添加抽象装饰类和具体装饰类。早餐类:public abstract class Breakfast { public String de...原创 2019-03-12 15:02:52 · 133 阅读 · 0 评论 -
适配者模式
需求:不改变某个类,加一些方法。适配器类,以这个类为基础添加需要的方法,也就是集成了这个类。1.类适配器:Student 类:会学习,运动,考试public class Student { protected String sname; public String getSname() { return sname; } public void setSname...原创 2019-03-12 15:34:09 · 151 阅读 · 0 评论 -
Java画图1
/** * 画字 * @author Walker * */public class PaintUtil1 extends JPanel{ /** * */ private static final long serialVersionUID = -2740294912008573065L; /** 重写paint()画 g:画笔 */ public voi...原创 2019-03-12 23:38:50 · 165 阅读 · 0 评论 -
Java画图2
public class PaintUtil2 extends JPanel{ /** * 画图 */ private static final long serialVersionUID = -898711734428727206L; private static BufferedImage image; static { image = loadImage("bac...原创 2019-03-12 23:41:19 · 112 阅读 · 0 评论 -
希尔排序 java 实现
public static void shellSort(int[] arr) { int i, j, d; for(d = arr.length/2; d > 0; d /= 2) { for(i = d; i < arr.length; i++) { //内嵌直接插入排序 if(arr[i] < arr[i-d]) { int tem...原创 2019-05-06 15:26:35 · 126 阅读 · 0 评论