自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

君君的专栏

君君的专栏

  • 博客(41)
  • 资源 (9)
  • 问答 (3)
  • 收藏
  • 关注

原创 Shiro学习笔记(4)——ini 配置

ini 配置文件在前面三个笔记中也有使用到ini配置文件,但是没有进行详细的解析,本次来介绍一下如何配置。ini配置文件其实和properties配置文件一样的使用方法,都是键值对的形式(key=value),#号代表注释 ini配置中主要配置有四大类:main,users,roles,urls[main]#提供了对根对象 securityManager 及其依赖的配置securityMana

2015-05-29 10:04:36 3129 2

原创 Shiro学习笔记(3)——授权(Authorization)

什么是授权授权三要素Shiro的三种授权方式1 编码方式授权2 基于注解的授权3 JSP标签授权1.什么是授权授权,就是访问控制,控制某个用户在应用程序中是否有权限做某件事2.授权三要素权限 请看Shiro学习笔记(1)——shiro入门中权限部分内容角色 通常代表一组行为或职责.这些行为演化为你在一个软件应用中能或者不能做的事情。角色通常是分配给用户帐户的,因此,通过分配,用户

2015-05-28 17:33:37 19452 2

原创 Shiro学习笔记(2)——身份验证之Realm

环境准备什么是Realm为什么要用Realm自定义Realm多个Realm配置Authenticator和AuthenticationStrategy自定义AuthenticationStrategy验证策略多个Realm验证顺序环境准备创建java工程需要的jar包大家也可以使用maven,参考官网什么是Realm在我所看的学习资料中,关于Realm的定义,写了整整一长串,但

2015-05-27 21:33:36 18515 5

原创 Shiro学习笔记(1)——shiro入门

创建一个简单shiro项目Shiro的权限1 简单字符串2 多层次管理2 实例级访问控制1.创建一个简单shiro项目创建一个java工程加入shiro需要的jar包 在src下创建log4j配置文件(非必需步骤,可以跳过)## Licensed to the Apache Software Foundation (ASF) under one# or more contribu

2015-05-27 11:04:21 7013

原创 WebService(6)——webService面试题

什么是WSDL webservice定义语言,对应.wsdl文档,一个webservice会对应一个唯一的wsdl文档,定义了客户端与服务端发送请求和响应的数据格式和过程如何发布一个webservice 定义SEI @webService @webMethod 定义SEI的实现 发布:Endpoint.publish(url, SEIImplObject);如何请求一个web

2015-05-14 22:57:19 6580

原创 WebService(5)——一个webService请求的流程

该图来自尚硅谷

2015-05-14 22:39:03 1699

原创 WebService(4)——WSDL文档解析

解析以下内容均来自尚硅谷<?xml version='1.0' encoding='UTF-8'?><wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://ws.day01_ws.at

2015-05-14 22:36:29 1072

原创 WebService(3)——使用免费的天气预报WebService

使用免费的天气预报webservice先百度一下,找到webservice对应的wsdl: http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl创建java工程,将上述wsdl生成客户端代码,具体步骤参考方法一:WebService(1)——使用JDK开发WebService生成过程中,你会发现报错啦,无法生成。哈哈

2015-05-14 21:34:39 17147 4

原创 WebService(2)——使用eclipse的TCP_IP工具监听端口

配置TCP_IP工具监听端口本文接上一篇博客WebService(1)——使用JDK开发WebService配置完成之后,记得点击start开启利用本地wsdl文档生成webservice客户端代码现在我们使用webservice客户端来试试但是有一个问题,上次我们访问服务端时是访问端口9999,这是在自动生成的客户端代码中已经写死了。为了测试TCP_IP工具,我们必须访问8888端口,然后

2015-05-14 19:43:51 3530

原创 WebService(1)——使用JDK开发WebService

服务器端开发新建一个java工程,写一个接口,加上注解,@WebService和@WebMethodpackage com.ws.service;import javax.jws.WebMethod;import javax.jws.WebService;@WebServicepublic interface HelloWS { @WebMethod String sayHe

2015-05-14 18:58:53 4651

原创 spring学习笔记(25)——spring基本思路

spring基本思路spring在web应用中的配置与使用的基本思路:需要加入额外的jar包 spring-web-4.0.0.RELEASE.jarspring-webmvc-4.0.0.RELEASE.jar配置文件和在java应用中一样配置如何创建IOC容器在非WEB应用中,使用ApplicationContext接口直接创建在WEB应用中,应该在应用启动时就创建WEB应用中其他

2015-05-14 09:54:09 1096

原创 spring学习笔记(24)——xml方式配置事务

xml方式配置事务之前配置事务的方式是在方法上加注解,事务的属性也是写在注解里,现在我们使用xml方式配置 <!-- 配置事务 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name

2015-05-13 23:45:15 667

原创 spring学习笔记(23)——事务的隔离级别&回滚&只读&过期

事务其他属性 //1.使用 propagation 指定事务的传播行为, 即当前的事务方法被另外一个事务方法调用时 //如何使用事务, 默认取值为 REQUIRED, 即使用调用方法的事务 //REQUIRES_NEW: 事务自己的事务, 调用的事务方法的事务被挂起. //2.使用 isolation 指定事务的隔离级别, 最常用的取值为 READ_COMMITTED

2015-05-13 23:24:56 774

原创 spring学习笔记(22)——事务的传播属性

什么是事务的传播属性举个栗子:在上一个笔记中我们用到了转账的栗子,使用到了事务,这时有了新的需求,要求能够批量转账。要实现这个功能很简单,写一个批量转账的方法batTransfer,for循环转账即可。 问题来了:批量转账这个方法肯定也是要用事务的,那么它是使用转账方法transfer()的事务呢还是batTransfer()自己重新开一个事务?这就是事务的传播属性 关于转账的栗子,请参考:sp

2015-05-13 20:07:24 665

原创 spring学习笔记(21)——声明式事务

什么要使用事务假设现在要实现一个转账的功能,A转账给B,当A扣了100块钱之后,突然发生了什么导致程序无法正常运行,这时候,B没有收到钱。。那么,这100块钱就不翼而飞了。。这时候就需要事务,A扣钱和B收到钱这两件事要么都成功,要么都不成功。准备工作现在我们来模拟一下,数据库中有两个账号 tom转账给jack 100块钱,但是tom只有99块,将抛出一个异常 /** * 用户支出

2015-05-13 19:03:35 693

原创 myBatis学习笔记(9)——spring整合mybatis

spring整合mybatis新建一个java项目,加入jar包,add build path 数据库中建好表,写好相应的实体类package com.sm.model;public class User { private String username; private int money; public String getUsername() {

2015-05-13 18:09:07 768

原创 myBatis学习笔记(8)—— 一级缓存&二级缓存

一级缓存一级缓存的范围是session测试缓存 SqlSessionFactory factory = MyBatisUtil.getFactory(); SqlSession session = factory.openSession(true); String statement = "com.bank.userMapper.getUser";

2015-05-13 00:00:12 803

原创 myBatis学习笔记(7)——调用存储过程

创建表在数据库中执行create table p_user(id int primary key auto_increment,name varchar(10),sex char(2));insert into p_user(name,sex) values('A',"男");insert into p_user(name,sex) values('B',"女");insert int

2015-05-12 23:05:18 721

原创 myBatis学习笔记(6)——动态SQL & 模糊查询

动态SQL与模糊查询 <select id="selectUser" parameterType="Map" resultType="User"> select * from user where 1=1 <if test="name != '%null%' "> and username like #{n

2015-05-12 22:35:25 632

原创 myBatis学习笔记(5)——一对多关联表查询

需求上一篇笔记是一对一,一个学生对应一个老师,本次我们修改一下需求,一个老师有多个学生 参考:myBatis学习笔记(4)——一对一关联表查询 老师类:package com.bank.entities;import java.util.List;public class Teacher { private int teacherId; private String teache

2015-05-12 21:46:58 699

原创 myBatis学习笔记(4)——一对一关联表查询

需求现有两个实体,student和teacher,假设一个学生对应一个老师,他们是一对一的关系,我们想要在查询学生的时候,也能得到该学生的老师的信息准备数据库两张表:student和teacher 实体类package com.bank.entities;public class Teacher { private int teacherId; private String t

2015-05-12 16:52:12 782

原创 myBatis学习笔记(3)——实体属性名与表字段名不匹配问题

问题 <select id="getUser" parameterType="String" resultType="User"> select * from user where username=#{username} </select>这是映射文件的配置,myBatis在查询出结果之后,会帮我们把查询结果一一对应地填充到User对象中但是,它怎

2015-05-12 16:01:24 4192

原创 myBatis学习笔记(2)——细节优化

引用外部文件在配置数据库连接信息的时候,我们一般都引用外部文件,如:db.properties - 在src下创建db.properties - 配置文件 <!-- 使用外部配置文件 --> <properties resource="db.properties"></properties> <environments default="development">

2015-05-12 15:24:41 618

原创 myBatis学习笔记(1)——快速入门

在项目中使用myBatis导入jar包 在src下创建配置文件<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration

2015-05-12 11:06:02 1747

原创 spring学习笔记(20)——基于配置文件方式配置AOP

基于注解的方式配置AOP查看先前的笔记 - spring学习笔记(15)——AOP基础 - spring学习笔记(16)——AOP之前后置通知 - spring学习笔记(17)——返回通知&异常通知&环绕通知 - spring学习笔记(18)——切面的优先级 - spring学习笔记(19)——重用切点表达式基于配置文件方式配置AOP功能代码package com.zj.asceptj.x

2015-05-09 10:53:23 1212

原创 spring学习笔记(19)——重用切点表达式

重用切点表达式先看看之前的代码@Aspect@Componentpublic class LoggingAscept { @Before("execution(* com.zj.asceptj.*.*(..))") public void beforeMethod(JoinPoint joinpoint){ //注意,JoinPoint来自org.aspectj.

2015-05-09 10:25:45 1167

原创 spring学习笔记(18)——切面的优先级

切面的优先级使用@Order注解来指定切面的优先级值越小,优先级越高如:@Order(1)@Aspect@Componentpublic class LoggingAspect(){ //....}

2015-05-09 10:12:35 748

原创 spring学习笔记(17)——返回通知&异常通知&环绕通知

本人接上篇spring学习笔记(16)——AOP之前后置通知返回通知 /** * 返回通知: 方法正常执行完后调用,如果有异常,则不调用 * 可以访问到方法的返回值 * @param joinPoint * @param result 方法的返回值 */ @AfterReturning(value="exec

2015-05-09 10:07:46 2424 1

原创 spring学习笔记(16)——AOP之前后置通知

前置通知本文接上一篇spring学习笔记(15)——AOP基础为了更好的解决上次说的问题,我们使用AOP先加入jar包 package com.zj.asceptj;public interface Calcultor { int add(int a, int b); int sub(int a, int b);}package com.zj.asceptj;import or

2015-05-08 18:23:51 2637 1

原创 spring学习笔记(15)——AOP基础

发现问题我们先来看看开发过程中有可能会遇到什么问题,而AOP又能为我们带来什么的好处,通过这种方式,能够真正的理解什么是AOP,为什么要用AOP假设我们要实现一个计算器功能,要求 1. 能够实现基本的加减乘除计算功能 2. 要求实现日志功能写一个计算器接口package com.zj.aop;public interface Calcultor { int add(int a, int

2015-05-08 17:33:25 942

原创 spring学习笔记(14)——泛型依赖注入

泛型依赖注入写一个baseRepository,可以将DAO层相同的操作给封装起来,比如一般的增删改查,所有的DAO一般都有这些操作,因此可以写到父类中,并且使用泛型package com.zj.generic;public class BaseRepository<T> { public void add() { System.out.println("reponsitory

2015-05-08 16:33:34 6156

原创 spring学习笔记(13)——注解Autowired自动装配

使用Autowired一般情况下,controller和service是有关联关系的,service和DAO层是有关联关系的,我们使用autowired注解,在controller中装配service,在service中装配reponsitorypackage com.zj.annotation.service;public interface TestService { void ad

2015-05-08 16:10:46 3150

原创 spring学习笔记(12)——使用注解方式配置bean

常用的注解常用的有四个注解 Controller: 用于控制器的注解 Service : 用于service的注解 Component: 用于基本组件的注解 Repository:用于Dao层的注解 其实,对于spring来说,它根本无法识别controller,service等,它只知道只要你加了以上四个注解,它就帮你创建bean简单来说,就是如果你在控制器上使用Com

2015-05-08 11:44:37 2648

原创 spring学习笔记(11)——使用FactoryBean创建bean

使用FactoryBean创建beanspring有提供给我们FactoryBean接口,我们也可以使用它来创建bean实现接口package com.zj.beanFactory;import org.springframework.beans.factory.FactoryBean;public class PersonFactoryBean implements FactoryBean<Per

2015-05-08 10:42:19 1293

原创 spring学习笔记(10)——工厂方法配置bean

静态工厂方法配置bean写一个静态工厂方法package com.zj.beanFactory;import java.util.HashMap;import java.util.Map;public class StaticBeanFactory { private static Map<String, Person> map = new HashMap<String, Person>(

2015-05-08 10:26:30 825

原创 spring学习笔记(9)——bean的生命周期

bean的生命周期写一段代码看看bean的生命周期package com.zj.cycle;public class Person { private String name; public Person(){ System.out.println("person is creating....."); } public void setName(Strin

2015-05-08 09:53:55 789

原创 spring学习笔记(8)——SpEL

什么是SpELspel就是spring的表达式语言,看下图(该图来自尚硅谷) SpEL很重要的一个功能就是能够实现 动态赋值最简单的用法 以上的用法其实没有什么意义,并不能体现出SpEL的强大SpEL使用先写三个实体类package com.zj.spel;public class Address { private String province; private Str

2015-05-07 11:35:40 1142

原创 spring学习笔记(7)——引用外部文件

引用外部文件我们先来模拟一个场景,假设我们现在要整合hibernate或者mybatis等框架到spring中先写一个dataSource做模拟package com.zj.ref;import java.util.Properties;public class DataSource { private String user; private String password;

2015-05-07 10:59:54 1219 2

原创 spring学习笔记(6)——bean的作用域

bean的默认作用域bean的作用域并不是指bean的作用的范围,它是指bean的scope属性。bean的scope,它的默认值为singleton<!-- 如果不声明scope属性,则值默认为singleton,如下 --><bean id="car" class="com.zj.scope.Car" scope="singleton"></bean>这个属性有什么作用呢,我们来看代码Car

2015-05-05 11:37:09 812

原创 spring学习笔记(5)——bean的继承与依赖关系

bean的继承关系bean之前可以继承,子bean可以继承父bean的属性,这很好理解。看代码 <bean id="car_father" class="com.zj.relation.Car"> <property name="brand" value="bmw"></property> <property name="price" value="111111

2015-05-04 14:45:51 1074

PHP-多进程编程示例代码

PHP-多进程编程示例代码,包含master-worker进程模式的实现和Timer定时器的实现

2018-05-14

win10 null.sys文件

win10安装git报错 fatal:open /dev/null or dup failed: No such file or directory错误,将该文件复制到C:\Windows\System32\drivers下并覆盖即可

2018-03-26

自己实现IOC容器

自己动手实现IOC容器的demo,帮助理解和学习spring IOC容器的基本原理和实现,适合学过或者用过spring的java玩家

2017-06-16

OneThink-maste

One Think based on Think PHP 3.2.3, remove the articles, only keep RBAC module. 引用Think PHP 3.2.3,并且删除OT对原有TP的库的引用。没有保留数据库备份等功能。 使用指南: 如果需要修改数据库配置相关信息,需要修改Common/Conf/db.php,以及User/Conf/config.php,根据环境变量设置不同的数据库切换。 如果要修改数据库的表前缀,需要替换.sql文件中的前缀,并修改Application/User/Conf/config.php下表前缀配置。 如果需要修改后台LOGO,替换相应尺寸的图片到对应的目录。 后台新增控制器尽量继承GlobalController,里面实现了通用的增删改查等。大部分情况都只需要写模板和模型。 在项目根目录有password.php文件,线上需删除此文件,在部署时可利用此文件对初始用户admin进行密码修改。 可修改用户加密密钥信息,修改Common/Conf/config.php和User/Conf/config.php两个文件。

2016-07-15

自定义IOC容器

自己动手实现IOC容器的demo,帮助理解和学习spring IOC容器的基本原理和实现,适合学过或者用过spring的java玩家

2016-02-18

poi-3.13.zip

java解析excel使用到的jar包,2003版本,2007版本统统不在话下

2016-01-29

MySQL5.5.6绿色版

绿色版,无需安装,解压即可打开服务,附带可视化工具

2015-05-12

spring-quartz

spring-quartz整合,实现定时器的动态开启(从数据库读取)

2015-05-12

springmvc之restful风格CRUD

springmvc的rest风格的增删改查,适合springmvc的新手

2015-04-27

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

TA关注的人

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