自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

java小酱油

世界上只有两句真理:人一定会死, 程序一定有 Bug.

  • 博客(57)
  • 资源 (4)
  • 收藏
  • 关注

原创 基于JWT前后端token认证

JWT简介JWT(json web token)是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源。比如用在用户登录上。基于session的登录认证在传统的用户登录认证中,因为http是无状态的,所以都是采用session方式。用户登录成功,服务端会保证一个sessi

2017-03-10 16:22:14 36319 11

原创 Java设计模式-单例模式

通常我们可以让一个全局变量使得一个对象访问,但是它不能防止你实例化多个对象。一个最好的方法是,让类自己去保存它唯一的实例。而且对外只提供一个访问的入口,这就是单例模式。单例模式的好处:1、有些类创建很频繁,有些大的对象这是一笔很大的开销;2、有时间只需要一个对象,每次实例化创建对象,会对程序造成干扰,比如一个班级只有一个班主任。那么有人想问,那单例模式这么好,以后开发中都用单例模式

2017-03-02 14:42:37 695

原创 synchronized(this)、synchronized(class)与synchronized(Object)的区别

在多线程开发中,我们经常看到synchronized(this)、synchronized(*.class)与synchronized(任意对象)这几种类型同步方法。

2016-12-22 17:14:37 50730 21

原创 Spring AOP 记录日志

日志记录问题引子:在通常开发接口中,经常要记录日志。但是如果这些代码直接写在代码中,后期维护太难,而且也会造成过多的冗余代码。现在可以使用spring的aop来实现这个功能:疑问:1、我们不是所有的接口都需要记录日志2、需要对每个接口定义一个标识,以后查询日志方便解决方案:可以自定义个annotation来解决这两个问题,而aop切面是这个annotat

2016-12-19 17:09:25 1681

原创 java设计模式-简单工厂模式

Java是面向对象的语言,所以在代码中会出现许多的创建对象的现象。首先来看下,一个简单的计算器功能,来引出简单工厂模式的好处。

2016-11-02 16:21:54 623

原创 log4j2生产环境配置

log4j2生产环境配置。支持日志过滤,日志分类别保存到文件,日志按天保存。

2016-09-23 11:03:19 9593 1

原创 spring注解方式读取properties文件中值

读取单个properties文件<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util" xsi

2016-09-22 17:33:53 4016

原创 redis分布式锁

在大型项目中,单机服务往往是不可行的。所以分布式环境的出现,但是分布式环境中如何保持数据的一致性,在这里我们只讨论下redis分布式锁这个解决方案:redis命令介绍使用redis分布式锁需要了解几个命令SETNX命令当且仅当 key 不存在,将 key 的值设为 value,并返回1 。若给定的 key 已经存在,则SETNX不做任何动作,

2016-07-12 17:22:01 19636

转载 HTTP状态码大全

HTTP状态码大全

2016-06-08 14:24:22 773

原创 MSM搭建(Memcached_Session_Manager)--解决集群session共享

解决分布式项目session问题。

2016-05-11 13:24:18 12495

原创 apache-thrift新手文档

Thrift 的各项传输协议和Socket方式及各种Server的特性。这里是0.9.3版本整理的。1、数据类型基本类型:bool:布尔值,true 或 false,对应 Java 的 booleanbyte:8 位有符号整数,对应 Java 的 bytei16:16 位有符号整数,对应 Java 的 shorti32:32 位有符号整数,对应 Java 的 inti6

2016-03-31 16:57:21 769

原创 Android UI之TextView

我们知道打开一个app那样漂亮的UI界面,都为止赞叹。其实无论多么美观的UI界面,开始都是先创建容器(ViewGroup的实例),然后不断的向容器中添加控件,最后形成一个漂亮的UI界面。TextView直接继承了View,它的作用就是在界面上显示文本。从功能上看,TextView其实就是个文本编辑器,只是andorid关闭了它的文字编辑的功能。TextView字体大小、颜色 <Text

2015-09-21 09:43:40 1160

原创 apache wicket 7.X让html回归webapp目录下

在上篇文章我们看到了用wicket开发的第一个程序。但是有点是非常不好的,就是html页面跟Java在同一目录下,这跟我们平时开发,是不同的,如果页面过多,后期维护也是很麻烦的。这篇文章我们就来说下,怎么把html放在webapp下了?先来看下修改后的项目结构:看下MyLcator.java这个文件:package cn.ztz.application;import jav

2015-08-19 20:58:51 2061

原创 apache wicket 7.X之HelloWorld

apache wicket 7.X

2015-08-06 22:54:48 2508

原创 java多线程之volatile关键字

在java线程并发处理中,关键字volatile的主要作用是使变量在多个线程间可见。那么volatile到底该怎么用了?我们首先来看一段代码:public class MyThread1 implements Runnable { private boolean istag = true; public boolean isIstag() { return istag; }

2015-08-05 21:16:33 871

原创 java多线程之synchronized

java多线程中synchronized方法,synchronized代码块。

2015-07-30 22:36:03 846

原创 java多线程之线程的优先级

在操作系统中,线程可以划分优先级,优先级较高的线程得到CPU资源较多,也就是CPU优先执行优先级较高的线程对象中的任务(其实并不是这样)。在java中,线程的优先级用setPriority()方法就行,线程的优先级分为1-10这10个等级,如果小于1或大于10,则抛出异常throw new IllegalArgumentException(),默认是5。public class MyThr

2015-07-19 22:24:23 7078 1

原创 java多线程之停止线程

在多线程开发中停止线程是很重要的技术点。停止线程在Java语言中并不像break语句那样干脆,需要一些技巧性的处理。一、  异常法采用异常法来停止一个线程,首先我们需要了解一下两个方法的用法:1、interrupt()方法public class MyThread extends Thread{ @Override public void run() { for (int

2015-07-19 18:43:35 1321

原创 初探Java多线程

java多线程创建两种方法。currentThread()方法、sleep()方法、getId()方法 简单讲解

2015-07-18 23:34:06 1003

原创 springmvc自定义拦截器

Spring MVC也可以使用拦截器对请求进行拦截处理,用户可以自定义拦截器来实现特定的功能,自定义的拦截器必须实现HandlerInterceptor接口。直接看下例子:package com.ztz.springmvc.interceptor;import javax.servlet.http.HttpServletRequest;import javax.servlet.htt

2015-07-15 09:14:36 3328

原创 springmvc上传图片并显示图片--支持多图片上传

springmvc上传图片并显示图片(也能上传文件),多图片上传并显示图片,采用commons-fileupload,commons-io

2015-07-13 21:44:23 64499 37

原创 springmvc使用实体参数和ServletAPI

一、 实体参数前面我们知道使用注解@RequestParam可以获得参数的值,那么现在提交一个表单怎么获得其中的值了。你可以说可以使用request.getParameter("")获得,是的这种方法确实能获得。那么现在如果表单有100个参数了,我们不会一个一个的去获得然后在set到model中,那样显得很麻烦。其实springmvc能直接把值一一对应到model中,下面来看下例子:pac

2015-07-12 21:23:41 1837

原创 springmvc之@Controller、@RequestMapping等注解讲解

springmvc中@Controller、@RequestMapping、@RequestParam、@RequestHeader 、@CookieValue 、@RequestBody注解的简单介绍

2015-07-12 16:10:56 11364 1

原创 剖析springmvc之HelloWorld

上篇文章我们搭建了springmvc,也成功运行。这篇文章,我们来分析下原理。通过在 web.xml 配置DispatcherServlet 前端控制器, web 容器 启动时加载, 并且进行初始化。来看下DispatcherServlet的类结构。因为DispatcherServlet最终继承了HttpServlet,所以在web容器启动的时候会调用init()方

2015-07-11 16:34:14 997

原创 springmvc之HelloWorld

spring4+springmvc4+maven搭建

2015-07-11 11:55:08 978

原创 初探springmvc

Springmvc是什么Springmvc(spring web mvc)是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,SpringMVC也是要简化我们日常Web开发的。Springmvc能做做什么能非常简单的设计

2015-07-08 16:38:43 1032 1

原创 Spring基于注解@AspectJ的AOP

Spring除了支持XML方式配置AOP,还支持注解方式:使用@AspectJ风格的切面声明。但是用注解方式需要在XML启用对@AspectJ的支持,将在Spring上下文创建一个AnnotationAwareAspectJAutoProxyCreator类,它会自动代理一些Bean,这些Bean的方法需要与使用@Aspect注解的Bena中所定义的切点相匹配,而这些切点又是使用@Pointc

2015-07-07 08:55:59 11310 9

原创 Spring 在XML中声明切面/AOP

在Spring的AOP配置命名空间中,我们可以找到声明式切面选择,看下面: 一、声明切面切面就是包含切入点和通知的对象,在Spring容器中将被定义为一个Bean,Schema方式的切面需要

2015-07-05 17:11:40 3099

原创 spring AOP概念讲解

在软件中,有些行为对于大多数应用都是通用的。比如:日志、安全和事务。如果每个方法里面都去写记日志的方法逻辑,是不是觉得很麻烦,耦合度过高。如果让应用对象只关注自己所针对的业务领域问题,而其他方面的问题由其他应用对象处理,这会不会更好了?在软件开发中,分布于应用中多处的功能被称为横切关注点。通常,这些横切关注点从概念上是于应用的业务逻辑是分离的(但是往往直接嵌入到应用的业务逻辑之中)。将这些横切

2015-07-04 22:51:44 1336

原创 spring组件<context:component-scan>详解

上篇文章我们引入注解,在配置中用到了有助于完全消除Spring配置中的和元素,我们仍需要使用元素显示定义Bean。但是Spring还有另一种技巧元素除了完成与一样的工作,还允许Spring自动检测Bean和定义的Bean。这意味着不使用元素,Spring应用大多数(或者所有)Bea

2015-07-04 14:02:51 3370

原创 @Autowired和@Resource装配

从Spring2.5开始就可以使用注解自动装配Bean的属性。使用注解自动装配与XML中使用autowire属性自动装配并没有太大差别。Spring容器默认禁用注解装配。所以在基于注解自动装配,我们需要在Spring配置中启用它。如:说到他的作用是向Spring容器注册AutowiredAnnotationBeanPostProcessor、CommonAnnotationBean

2015-06-30 22:06:45 1824

原创 spring自动装配Bean属性

spring提供了4种类型的自动装配byName:把与Bean的属性具有相同名字(或者ID)的其他Bean自动装配到Bean的对应属性中。byType:把与Bean的属性具有相同类型的其他Bean自动装配到Bean的对应属性中。constructor:把与Bean的构造器入参具有相同类型的其他Bean自动装配到Bean的对应属性中。autodetect:首先尝试constructo

2015-06-29 22:02:13 2363

原创 spring装配集合

前面我们已经了解了如何使用spring装备简单的属性(使用value属性)和引用其他bean的属性(使用ref属性)。但是value和ref仅在Bean的属性值是单个值的情况下才有用。当bean的属性值是复数时-----如果属性的类型是集合。当配置集合类型的bean属性时,spring提供了4种类型的集合配置元素,如下。集合元素用途装配list类型的值,

2015-06-28 23:12:09 2089

原创 spring命名空间p装配属性

使用元素为bean的属性装备值和引用并不太复杂。尽管如此,spring的命名空间p提供了另一种bean属性的装配方式。命名空间p的schema url是:http://www.springframework.org/schema/p直接看例子(还是角色跟用户的model):public class Roles { private int id; private String rol

2015-06-28 21:44:42 1786 2

原创 spring set注入

上篇文章说到了构造器注入,但是有时候构造器注入并不是很好用,现在来看下set注入。构造器注入博客地址:http://blog.csdn.net/luckey_zh/article/details/46671307看下例子:public class Roles { private int id; private String roleName; public int g

2015-06-28 21:20:05 2180

原创 spring bean初始化和销毁

当实例化一个bean时,可能需要执行一些初始化操作来确保该bean处于可用状态。当不在需要bean的时候,将其从容器中移除时候,我们可能会执行一些清理的工作。1、spring提供了:InitializingBean和DisposableBean接口 Spring容器以特殊的方式对待实现这两个接口的bean,容许他们进入bean的生命周期。 看下例子:public class TestSpring

2015-06-28 20:49:18 3170

原创 spring bean的作用域

我们需要了解下spring bean的作用域在所有的spring bean默认都是单例的,当容器分配一个bean时,它总是返回bean的同一个实例(这点大家可以去试下)。但是有时候我们需要每次请求时候都获得唯一的Bean实例。当在Spring中配置元素时,我们可以为Bean声明一个作用域,如下:这样每次返回都是不同的实例了。spring bean的作用域有如下几种:

2015-06-28 19:10:37 1551

原创 spring构造器注入

一、声明一个简单的bean直接来个角色beanpublic class Roles { private int id; private String roleName; public Roles() { } public Roles(int id,String roleName) { this.id=id; this.roleName = roleName; }

2015-06-28 14:57:14 9817

原创 TRANSLATE函数的用法

语法格式:TRANSLATE(expr,from_string,to_String)SQL> SELECT TRANSLATE('ab你好cde','abcde','123456') AS NEW_STR FROM DUAL;NEW_STR---------12你好345from_string与to_sting以字符为单位,对应字符一一替换。SQL> SELECT TR

2015-06-04 22:30:39 6341 1

原创 PLSQL的timestamp显示格式问题

新装的Oracle客户端,发现,timestamp显示格式看不懂了,原来是这样设置执行命令:alter session set NLS_TIMESTAMP_FORMAT='yyyy-mm-dd hh24:mi:ss:ff';

2015-03-11 10:03:12 3256

springmvc 4.1

springmvc上传,拦截器demo 本人博客http://blog.csdn.net/luckey_zh

2015-08-24

springmvc4.1

springmvc上传,拦截器小demo 本人博客:http://blog.csdn.net/luckey_zh

2015-08-24

Hibernate4.3.6+struts2 2.3.16+Spring4.1整合

Hibernate4.3.6+struts2 2.3.16+Spring4.1整合

2014-09-27

整合spring+pring mvc+mybatis

整合spring+pring mvc+mybatis,数据库是Oracle,完整demo, 访问地址: http://127.0.0.1:8080/bigdt/user/listUser.do

2014-06-19

空空如也

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

TA关注的人

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