自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

?_#的博客

懒人一个

  • 博客(73)
  • 资源 (1)
  • 问答 (4)
  • 收藏
  • 关注

原创 建造者模式

找商家买电脑:public class Computer { private String brand; private String screan; private String mainboard; private String memory; // getter and setter @Override public String toString() { return "Computer [brand=" + brand + ", screan=" + scre

2020-05-24 21:17:48 151

原创 mybatis与spring整合源码分析

1.配置applicationContext.xml <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="j

2020-05-17 16:46:41 188

原创 通过 PropertyPlaceholderConfigurer 来加解密数据

在 properties 文件中一般有数据库的密码等重要信息,这些密码都是明文的话是很危险的。如下面 properties 文件:application.propertiesjdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://123.153.230.165:3306/lxh?useUnicode=true&characte...

2020-04-25 19:26:40 1062

原创 1.Spring 源码学习—web.xml 之 ClassLoaderListener

web.xml 的 ClassLoaderListener 初始化 Spring 容器1.web.xml <!-- spring 的 ContextLoaderListener 是一个servlet 监听器,是最常用的上下文载入器之一 --> <listener> <listener-class>org.Springframework.we...

2020-04-11 16:37:54 238

原创 @XmlRootElement

@XmlRootElement@XmlRootElementpublic class Student { private String name; private String age; public String getName() { return name; } public void setName(String name) { this.name = ...

2019-12-20 10:21:47 1777

原创 模板模式

本质:子类重写父类方法,并且使用父类引用指向子类对象,调用此方法是子类的方法。模板抽象类,定义一些模板方法public abstract class Cook { public abstract void doCook(); public void addAfter() { System.out.println("加盐"); } public void addOil...

2019-12-19 16:42:32 73

原创 Springboot基于tomcat启动读取外部配置文件

项目结构pom.xml <!-- 打包为war包,部署在tomcat容器启动 --> <packaging>war</packaging> <parent> <groupId>org.springframework.boot</groupId> <artifactId&gt...

2019-11-29 11:30:51 3388 1

翻译 redis 实现分布式锁

1.初始化public class RedisLock { static Jedis jedis = new Jedis("127.0.0.1", 6379); static String kill_key = "goods-1-1-1-num"; static String lock_key = "lock-goods-1-1-1"; public static v...

2019-09-10 21:24:22 122

翻译 how tomcat works-02

RequestResponseRequestFacadeResponseFacadeStaticSourceProcessorServletProcessorHttpServerConstantsRequest.javapackage qhf02.pyrmont;import java.io.BufferedReader;import java.io.I...

2019-06-01 00:34:35 144

翻译 how tomcat works---01

RequestResponseHttpServerRequest.javapackage qhf01.pyrmont;import java.io.IOException;import java.io.InputStream;public class Request { private InputStream input; private String uri...

2019-06-01 00:22:48 98

翻译 Spring实战17——Spring Security

Spring Security 是一种基于Spring AOP 和Servlet 规范中的Filter 实现的安全框架 Spring Security 充分利用了依赖注入DI 和面向切面技术 Spring Securty 使用Servlet 规范中的Filter 保护web 请求并限制url 级别的访问。它还使用了Spring AOP 保护方法的调用——借助于对象代理和使用通知。引入core...

2019-05-20 23:18:53 195

转载 shiro 使用

shiro 核心架构Subject(主体):与软件交互的一个特定的实体(用户、第三方服务等)。 SecurityManager(安全管理器) :Shiro 的核心,用来协调管理组件工作。 Authenticator(认证管理器):负责执行认证操作 Authorizer(授权管理器):负责授权检测 SessionManager(会话管理):负责创建并管理用户 Session 生命周期...

2019-05-18 17:30:12 136

原创 初识代理与动态代理(java 实现)

首先是接口和接口的实现类接口public interface A { public void print(); public void println();}接口实现类public class AImpl implements A { @Override public void print() { System.out.println("A"); } @Ove...

2019-05-14 17:30:38 101

原创 希尔排序 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 107

原创 堆排序 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 120

原创 快速排序 java 实现

public class QuickSort { public static void quickSort(int[] arr, int front, int rear) { if(front >= rear) { return; } int i = front, povit = front, j = rear; int tem = arr[povit]; ...

2019-05-06 15:22:44 78

原创 简易的通过xml实现自动实例化bean

bean.xml<?xml version="1.0" encoding="UTF-8"?><beans> <bean id="obj" class="java.lang.Object" flag="true"></bean> <bean id="user" class="com.qhf.pojo.User" flag="true"&...

2019-04-29 15:48:23 438

原创 简易的通过注解自动实例化bean 应用

两个注解@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@interface Service { String value() default "";}@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@interface Compone...

2019-04-26 00:24:04 425

原创 注解和反射笔记

自定义两个注解@Target({ElementType.CONSTRUCTOR, ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)//运行时加载Annotation 到JVM 中,只有此状态可通过反射获取注解的信息。@interface A { String value() default "默认构造方法";//成员}@Ta...

2019-04-25 11:50:16 100

原创 Json 应用

js 中使用:var user = {'name':'红中','age':23} //undefinedtypeof user //"object"var str = JSON.stringify(user) //undefinedtypeof str //"string"str //"{"name":"红中","age":23}"var obj = JSON.pars...

2019-04-24 09:38:17 168

原创 Serializable 序列化笔记

序列化和反序列化是java中进行数据存储和数据传输的一种方式。序列化是把对象转化为字节的过程,反序列化反之。 序列化的场景?网络通信中以字节传输 数据的存储如何序列化?实现Serializable 接口 实现Externalizable 接口,其中Externalizable 接口继承了Serializable 接口需求:将User 类序列化到 test.txt 文件中(1)Use...

2019-04-24 09:23:20 144

原创 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 85

原创 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 127

原创 Spring实战14——跨重定向传递数据

必备知识:SpringMVC 中的重定向与转发:转发:forward:+ url。请求转发类型是不会变的,比如post 请求,那么转发后调用的方法也是post 请求类型。重定向:redirect:+ url。重定向后是发起一个新的Get 请求,model 中的属性和值以参数形式附加在get 请求的url 上。原来的请求和模型消失。这里讨论重定向如何带参数的两种方式:1.通过ur...

2019-04-15 11:38:06 149

翻译 Spring实战13——Spring MVC 配置方案

Spring MVC 配置方案:1.基于java 类配置2.基于web.xml 配置从哪里开始?学源码再补充吧。。。1.基于java 类配置public class DispatcherServletInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { /**...

2019-04-11 11:12:31 178

原创 Spring实战12——SpringMVC参数与表单校验

SpringMVC 允许多种方式将客户端的数据传送到控制器的处理器方法中,包括:*.查询参数*.表单参数*.路径变量表单校验:可以使用Spring 对Java 校验API(Java Validation API,又称JSR-303),需要添加两个依赖:javax.validation.constrains 和 hibernate-validator1.对于校验,需要在en...

2019-04-09 17:34:14 170

原创 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 169

原创 Spring实战10——基于配置类搭建SpringMVC

Spring MVC 的请求两个关键词:DispatcherServlet 和Spring 应用上下文,Spring 应用上下文位于应用程序的Servlet 上下文中。* .继承AbstractAnnotationConfigDispatcherServletInitializer 的任意类都会自动地配置DispatcherServlet 和Spring 应用上下文* .在...

2019-04-09 16:11:12 232

原创 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 495 5

原创 Spring实战08——为bean对象引入新方法

在前面的切面学习中,注意到可以在对象.方法运行前后引入切面,执行通知代码,这本来就执行了多个方法,看起来却是像是对象的多个方法。切面只是实现了它们所包装的bean 相同接口的代理,如果除了实现这些接口,代理也能暴露新接口的话,切面所通知的bean看起来像是实现了新的接口,即便底层实现类并没有实现这些接口也无所谓。当引入接口的方法即通知被调用时,代理会把此调用委托给实现了新接口的某个其他对象。实...

2019-04-02 20:32:33 413

原创 Spring实战07——AOP切点表达式

Spring中通过切入点表达式定义具体切入点,其常用AOP切入点表达式定义 指示符 作用 bean 用于匹配指定bean id的的方法执行 within 用于匹配指定包名下类型内的方法执行 @annotation ...

2019-04-02 16:44:01 223

原创 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 97

原创 Spring实战05——AOP通知之注解配置

Spring提供了4种类型的AOP支持:基于代理的经典SpringAOP 纯POJO切面 @AspectJ注解驱动的切面 注入式AspectJ切面通知:需要调用的方法连接点:可以定义调用通知的所有位置切点:连接点的子集,需要自定义匹配的位置切面:通知和切点共同定义了切面的全部内容引入:允许我们向现有的类添加新方法或属性织入:把切面应用到目标对象并创建新的代理对象的过程,在目标...

2019-04-02 11:05:28 163

原创 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 1745

原创 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 10100

原创 责任链模式

//抽象处理者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 76

原创 策略模式

/** * 抽象决策类 * @author Walker * */public abstract class Strategy { public abstract void backupDatabase();}/** * 具体策略类 * @author Walker * */public class StrategyA extends Strategy{ ...

2019-03-16 16:11:45 63

原创 对象的创建过程

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 113

原创 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 158

原创 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 5909

jsp+servlet+bean+mysql例子

jsp+servlet+bean+mysql例子,供初学javaweb的同学参考。

2018-01-19

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

TA关注的人

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