自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (6)
  • 收藏
  • 关注

原创 Spring在普通类中使用自动注入Bean

在Spring中,我们会在Controller层使用自动注入的Service层,在Service层使用自动注入的Dao层,如果想在普通的类中使用自动注入Service或者是Dao层时,可以这样做:1、在相应的类上加上@Component注解@Component注解将我们的类实例化到Spring容器中,这样的方式其实就是相当于xml配置文件中的<bean id="" class=""/>...

2018-03-29 15:59:38 610

原创 SpringMVC+Mybatis 多数据源配置

方案最开始的做法因为我们的项目用的是Mybatis作为ORM框架,在其配置文件中可以配置数据源信息,原始配置如下:spring-mybatis.xml<!-- 引入配置文件 --><bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholde...

2018-03-28 14:18:49 262

原创 Spring+Mybatis 多数据源配置

同一applicationContext.xml中:1,配置多个数据源(采用连接池c3p0,直接jdbc连也行)数据源1:dataSource1<bean id = "dataSource1" class= "com.mchange.v2.c3p0.ComboPooledDataSource" lazy-init = "default"><property name="drive...

2018-03-28 13:59:25 318

原创 Java多线程中同步与死锁

1.线程同步多线程引发的安全问题一个非常经典的案例,银行取钱的问题。假如你有一张银行卡,里面有5000块钱,然后你去银行取款2000块钱。正在你取钱的时候,取款机正要从你的5000余额中减去2000的时候,你的老婆正巧也在用银行卡对应的存折取钱,由于取款机还没有把你的2000块钱扣除,银行查到存折里的余额还剩5000块钱,准备减去2000。这时,有趣的事情发生了,你和你的老婆从同一个账户共取走了4...

2018-03-23 20:37:20 177

原创 Java多线程产生死锁的条件以及解决方法

摘自《Thinking in Java》:死锁产生的原因:1.互斥条件。任务使用的资源至少一个是不能共享的。2.至少有一个任务它必须持有一个资源且正在等待获取一个当前被别的任务持有的资源。3.资源不能被任务抢占。任务必须把资源释放当做普通事件。4.必须有等待循环。要发生死锁,上述条件必须全部都满足;所以要防止死锁的话,只需要破坏其中的一个即可。在程序中,最容易防止死锁的方法是破坏第四个条件~...

2018-03-23 20:30:32 243

转载 缓存穿透,缓存击穿,缓存雪崩解决方案分析

前言设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。缓存穿透缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。解决方案有很多种方法可以有效地...

2018-03-22 17:30:02 141

转载 在前后端分离的SpringBoot项目中集成Shiro权限框架

项目背景       公司在几年前就采用了前后端分离的开发模式,前端所有请求都使用ajax。这样的项目结构在与CAS单点登录等权限管理框架集成时遇到了很多问题,使得权限部分的代码冗长丑陋,CAS的各种重定向也使得用户体验很差,在前端使用vue-router管理页面跳转时,问题更加尖锐。于是我就在寻找一个解决方案,这个方案应该对代码的侵入较少,开发速度快,实现优雅。最近无意中看到springboot...

2018-03-22 13:26:16 2356

原创 Mac中安装wget

先从Apple Store下载Xcode,然后安装Xcode; 接着安装Homebrew包管理,类似于Ubuntu下的apt-get, 终端下输入:ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"待Home-brew安装完成后,最后在终端下输入:sudo brew in...

2018-03-19 16:24:51 239

原创 Mac端添加ll、la、l等linux常用命令

vim ~/.bash_profilealias ll='ls -alF'alias la='ls -A'alias l='ls -CF'保存完之后source ~/.bash_profile接下来就可以和linux下使用这些命令一样了。知识点总结:1 .bash_profile文件是用户登陆终端的时候会自动执行的文件,一般此文件中会调用.bashrc(也就是在.bash_profile中有这么一...

2018-03-19 14:30:52 578

原创 Mac安装Nginx后No such file or directory问题解决

在Mac中通过homebrew安装好nginx后,启动nginx -s reload时,报:nginx: [error] open() "/usr/local/var/run/nginx.pid" failed (2: No such file or directory)解决方案:sudo nginx -c /usr/local/etc/nginx/nginx.conf输入密码后,再输入:sudo...

2018-03-19 14:23:03 3135 1

原创 Mac安装Nginx环境

Mac利用brew安装,一切命令都在终端操作。1、搜索(可省略)brew search nginx2、下载brew install nginx3、打开sudo nginx4、验证是否启动正常http://localhost如果出现下图,证明nginx已经启动成功!5、测试配置是否有语法错误nginx -t6、安装过程中问题处理:<问题一>nginx: [emerg] bind() to...

2018-03-19 10:43:42 205

原创 Mac安装Homebrew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"将以上命令粘贴至终端。脚本会在执行前暂停,并说明将它将做什么。高级安装选项在 这里。Homebrew 能干什么?使用 Homebrew 安装 Apple 没有预装但 你需要的东西。$ brew inst...

2018-03-19 10:32:32 147

原创 浅谈Java泛型中的extends和super关键字

泛型是在Java 1.5中被加入了,这里不讨论泛型的细节问题,这个在Thinking in Java第四版中讲的非常清楚,这里要讲的是super和extends关键字,以及在使用这两个关键字的时候为什么会不同的限制。   首先,我们定义两个类,A和B,并且假设B继承自A。package com.wms.test;import java.util.ArrayList;import java.u...

2018-03-16 23:47:48 162

原创 Java中抽象类和接口的适用场景

1、抽象类abstract class的应用场景      一句话,在既需要统一的接口,又需要实例变量或缺省的方法的情况下,就可以使用它。最常见的有:      A. 定义了一组接口,但又不想强迫每个实现类都必须实现所有的接口。可以用abstract class定义一组方法体,甚至可以是空方法体,然后由子类选择自己所感兴趣的方法来覆盖。      B. 某些场合下,只靠纯粹的接口不能满足类与类之间...

2018-03-16 17:50:51 2818

原创 详解Java内部类

可以将一个类的定义放在另一个类的定义内部,这就是内部类。内部类是一个非常有用的特性但又比较难理解使用的特性。第一次见面      内部类我们从外面看是非常容易理解的,无非就是在一个类的内部在定义一个类。public class OuterClass { private String name ; private int age; public String getNam...

2018-03-16 15:20:11 115

原创 Java 自动装箱与拆箱

这个是jdk1.5以后才引入的新的内容,作为秉承发表是最好的记忆,毅然决定还是用一篇博客来代替我的记忆:java语言规范中说道:在许多情况下包装与解包装是由编译器自行完成的(在这种情况下包装成为装箱,解包装称为拆箱);其实按照我自己的理解自动装箱就可以简单的理解为将基本数据类型封装为对象类型,来符合java的面向对象;例如用int来举例://声明一个Integer对象Integer num = ...

2018-03-16 11:52:25 145

原创 Java中 int与integer的区别

int与integer的区别从大的方面来说就是基本数据类型与其包装类的区别:int 是基本类型,直接存数值,而integer是对象,用一个引用指向这个对象1.Java 中的数据类型分为基本数据类型和复杂数据类型int 是前者而integer 是后者(也就是一个类);因此在类进行初始化时int类的变量初始为0.而Integer的变量则初始化为null.2.初始化时:  int i =1;Intege...

2018-03-16 11:34:01 167

原创 Java中==、equals和hashcode的区别

1、==java中的数据类型,可分为两类:1.基本数据类型,也称原始数据类型byte,short,char,int,long,float,double,boolean   他们之间的比较,应用双等号(==),比较的是他们的值。 2.引用类型(类、接口、数组)   当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比...

2018-03-16 10:47:58 164

windows 远程桌面连接工具 for Mac - 2018

Microsoft Remote Desktop for Mac - 完全可用,建议Mac用户可以使用此软件进行连接。

2018-03-14

Redis-2.8 for Windows 64bit

费了九牛二虎之力弄来的,请大家享用。

2015-08-22

PowerDesigner 帮助文档, 要下的快速哟

PowerDesigner 帮助文档, 要下的快速哟

2011-10-24

Flex4.0 API帮助文档-最新版-要下的速度

Flex4.0 API帮助文档-最新版-要下的速度 欢迎FLEX爱好者一同进步!!

2011-10-21

空空如也

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

TA关注的人

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