自定义博客皮肤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)
  • 收藏
  • 关注

原创 Springboot自定义注解+AOP实现日志管理

前言在写Aurora这个项目之前,我是通过拦截器去记录用户操作日志,而这里讲解如何使用AOP配合自定义注解去实现用户日志记录,使用拦截器的方式,下一章贴出导入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-st...

2020-04-18 16:49:05 732 1

原创 springsecurity认证流程

认证核心组件基于用户凭证创建 AuthenticationToken这里我们以最常用表单登录为例子, 用户在登录表单中输入用户名和密码, 并点击确定, 浏览器提交POST请求到服务器, 穿过过滤器链, 被 UsernamePasswordAuthenticationFilter 识别, UsernamePasswordAuthenticationFilter 提取请求中的用户名和密码来创...

2020-02-13 17:06:49 153

原创 Spring boot Mybatis 整合

步骤:1.创建一个springboot项目:2.创建项目的文件结构以及jdk的版本3.选择项目所需要的依赖然后点击finish5.看一下文件的结构:6.查看一下pom.xml:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmln...

2020-01-28 12:40:42 116

转载 JVM的内存区域划分(面试问题:你了解java内存模型么)

JVM的内存区域划分学过C语言的朋友都知道C编译器在划分内存区域的时候经常将管理的区域划分为数据段和代码段,数据段包括堆、栈以及静态数据区。那么在Java语言当中,内存又是如何划分的呢?由于Java程序是交由JVM执行的,所以我们在谈Java内存区域划分的时候事实上是指JVM内存区域划分。在讨论JVM内存区域划分之前,先来看一下Java程序具体执行的过程:    如上图所示,首先Java源...

2018-11-25 12:48:06 164

原创 AOP(注解+XML)+pagehelper

一:注解方式使用分页插件的好处:在编写Web后台代码时,分页是必不可少的,当然最通常的思路是在Sql中使用分页关键字来进行分页。在实际开发中,更多的是使用分页插件来减少代码冗杂,使编码更加清晰思路:分页控制的代码写在拦截器中,从而不影响本来的业务逻辑代码(以PageHelper为例来讲述)插件的环境引入:1.pom文件中引入分页插件的资源位置:&lt;dependency&gt; ...

2018-11-03 22:34:53 144

原创 Spring 常用注解

1.通过Spring的核心配置文件的标签&lt;context:component-scan/&gt; 对工程进行扫描@Repository :用于dao层创建dao类的bean (spring2.0)(Spring2.5)@Component 是一个泛化的概念,仅仅表示一个组件 (Bean) ,可以作用在任何层次。@Service 通常作用在业务层,但是目前该功能与 @Compo...

2018-11-03 22:17:30 80

原创 import xxx.xxx.xxx cannot be resolved 类无法解析问题

问题:eclipse 导入类 提示The import XXX cannot be resolved原因:原来使用JDK和现在使用的JDK不同造成的buildpath不对今天碰到这个问题困扰了我不少时间,导入类一直失败,不过最后还是找到了解决的方法:如下解决方法:1、右键项目-------buildpath--------最下面那个configura;2、选择libraries找到JRE...

2018-11-03 22:06:35 784

原创 mybatis逆向工程不产生Example的方法

&lt;!-- 指定每个表的生成策略 --&gt;&lt;table tableName="user" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"

2018-11-02 01:01:49 2462 1

原创 java.sql.SQLException: Unknown system variable 'language'

1.出现这类异常,通常是jdbc版本与mysql版本不匹配,处理得方法:换jdbc版本Exception in thread “main” java.sql.SQLException: Unknown system variable ‘language’at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:998)at com...

2018-11-02 00:42:50 1773

原创 Spring boot

1.Spring boot 与SpringMVC的关系两者没有必然联系, Spring boot可以说是SpringMVC的升级版2.Spring boot的特点(1)化繁为简,简化配置(2)备受关注,是下一代框架(3)微服务的入门级微框架Spring boot —&amp;amp;amp;gt;Spring Could-----&amp;amp;amp;gt;微服务3.注解Controller的使用(1)@Control...

2018-10-31 00:01:32 104

原创 Maven

1.Maven常用命令(1)mvn clean:清除文件,删除target目录(2)mvn compile:编译项目为class文件(3)mvn test:执行test下的测试用例(4)mvn package:打包项目,执行编译、测试、打包过程(5)mvn install:将项目打包到本地仓库,执行编译、测试、打包、上传过程(6)mvn deploy:将jar包上传到远程仓库mave...

2018-10-30 21:01:50 78

转载 Zookeepper

1.zookeeper简介用户解决分布式协作的难点,是一个高性能高可用的分布式协调服务,雅虎公司创建,google的chubby项目开源实现。最早是hadoop的子项目,也是Hbase项目的组件。小米米聊、淘宝Taokeeper其实类zookeeper。Kafka使用zookeeper,实现消息发布订阅,其中zk就是用于检测节点崩溃。实现主题的发现,并且保持主题的生产和消费状态。Hbase...

2018-10-29 16:44:09 201

原创 nginx

1.弄明白nginx是什么,主要是做什么的Nginx是由俄罗斯人编写的高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器(电子邮件代理服务器)应用场景:(1)http服务器(2)虚拟主机:一台服务器跑多个网站;那么哪个网站设置成80端口,一台服务器只有一个80端口;让所有主机网站共用一个80端口,使用Nginx实现,通过域名区分不同的虚拟主机(3)反向代理...

2018-10-28 23:09:10 83

原创 JVM运行原理

1.一次编译,到处运行:java程序编译成字节码也就是.class文件后,在不同系统使用不同的JVM进行解释,最后转换为不同平台的机器码例如:public class HelloWorld { public static void main(String[] args) { System.out.print(“Hello world”); } }(1)java代码通过编译之后生成字节码文...

2018-10-28 00:14:25 127

原创 Struts2工作原理

(1)客户端提交一个(HTTPServletRequest)请求(2)请求提交到一些列过滤器(Filter),如(ActionContextClearUp、其他过滤器、最后才到FilterDispatch)(3)FilterDispatch接收到请求后,询问ActionMapper是否需要调用某个Action处理请求;如果ActionMapper决定需要调用某个Action,FilterDis...

2018-10-27 12:20:05 92

原创 SpringMVC工作原理

1.由用户发送请求至前端控制器DispatchServlet2.DispatchServlet接收到请求调用HandlerMapping处理映射器3.处理映射器找到具体的处理器(根据xml、注解),生成处理对象及处理拦截器一并返回给DIspatchServlet4.DispacthServlet调用HandlerAdapter处理器适配器,HandlerAdapter经过适配调用具体的处理...

2018-10-27 11:12:28 222

原创 Iterator迭代器与for循环

1.区别:remove()for循环中集合删除元素会报错,因为list.size()的大小变化了for(int i=0;i&amp;lt;list.size();i++){list.remove(i);}而iterator不会报错,因为iterator的remove()不仅可以删除元素,还会维护一个标识,用来记录目前是不是可删除状态:如:不能连续调用两次remove()方法,调用之前需至少一次n...

2018-10-27 10:14:14 299

原创 Spring基础、原理

1.Spring框架结构:(1)Spring Core:核心控制器提供Spring的基本功能,主要主键BeanFactory是工程模式的实现,它通过IOC机制,实现程序代码分离(2)Spring Context:(3)Spring AOP:(4)Spring DAO:(5)Spring ORM:(6)Spring Web:(7)Spring Web MVC:2.Spr...

2018-10-27 00:28:10 111

原创 我对hibernate的理解

1.hibernate简介:hibernate是一个ORM(对象关系映射)开源轻量级框架,它对JDBC做了封装,我们使用面向对象的思想来操作数据库:hibernate的核心接口:(1)Session:负责被持久化对象的CRUD操作;(2)SessionFactory:负责初始化hibernate,创建Session(3)Configuration:负责配置和启动hibernate,创建S...

2018-10-26 22:33:29 139

原创 简单理解java中的反射机制

反射机制:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。1.首先我们要了解java中的Class类:其实每当我们编写并编译一个类时,JVM就会创建这个类对应的Class类对象,记录着该类的相关类型信息;并且这个Class对象会保存在同...

2018-10-26 00:48:18 230

原创 简单使用dom4j解析

1.完成对xml解析,并通过反射机制实例化对象;主要用到的类有dom4j中的SAXReaderSAXReader 类//构造SAXReaderSAXReader sr = new SAXReader();//加载文件Document doc = sr.read(File file)//Document对象代表XML文件在内存中的印象//取得根元素Element getRootEle...

2018-10-25 21:54:41 104

转载 sql优化

在sql查询中为了提高查询效率,我们常常会采取一些措施对查询语句进行sql优化,下面总结的一些方法,有需要的可以参考参考。1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where nu...

2018-10-07 21:33:30 102

原创 java基础复习

1)数据类型:布尔型:boolean 1个字节(8位) 范围(true、false) 默认值(false)字节型:byte 1个字节(8位) 范围(-128~127) 默认值((byte)0)字符型: char 2个字节(16位) 范围(’\u0000’~’\uf...

2018-09-30 00:01:33 96

原创 牛客刷题分享思路12题

1.请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。思路:将原来字符串放入StringBuff对象中,对员字符串的字符进行判断是否是 ‘ ‘ ’,用charAt()方法在对应的下标取值,如果是,就在StringBuff对象上添加“%”“2”“0”,用append方法;public c...

2018-09-27 22:47:05 193

转载 MySQL命令行导出数据库

MySQL命令行导出数据库:1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录如我输入的命令行:cd C:\Program Files\MySQL\MySQL Server 4.1\bin(或者直接将windows的环境变量path中添加该目录)2,导出数据库:mysqldump -u 用户名 -p 数据库名 &gt; 导出的文件名如我输入的命令行:mysql...

2018-09-27 18:15:52 116

原创 HashMap与HashTable的区别

HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口继承类不同:A.HashMap继承AbstractMapB.Hashtable继承Dictionary2执行效率不同:A.HashMap是非线程安全的,是Hashtable的轻量级实现,效率较高B.Hashtable是线程安全的,效率较低3put方法对key和value的要求不同A.Has...

2018-09-27 11:33:14 81

转载 java基础之ArrayList和Vector的主要区别

List接口下一共实现了三个类:ArrayList,Vector,LinkedList。LinkedList主要保持数据的插入顺序的时候使用,采用链表结构。ArrayList,Vector主要区别为以下几点:(1):Vector是线程安全的,源码中有很多的synchronized可以看出,而ArrayList不是。导致Vector效率无法和ArrayList相比;(2):ArrayList...

2018-09-27 11:22:33 171

原创 JSP的内置对象它们的作用域

①Request对象只作用于两个页面之间;②使用request传递数据,在跳转之前将所有需要传递到下一个页面的数据都通过setAttribute方法添加到request中;③Session作用于本次访问的所有页面之间;如果有多个页面之间需要频繁使用数据,我们存放子啊session中,在需要使用时,直接从session中取出;session中空间宝贵,尽量不使用;④如果使用request进行传...

2018-09-27 11:12:45 125

转载 常见异常

常见异常类型:Java中的异常分为两大类:  1.Checked Exception(非Runtime Exception)2.Unchecked Exception(Runtime Exception)算数异常类:ArithmeticExecption空指针异常类型:NullPointerException类型强制转换类型:ClassCastException数组负下标异常:Ne...

2018-09-27 11:09:18 243

转载 几个面试经典算法题Java解答

题目一:public class testClockwiseOutput {//顺时针打印一个矩阵@Testpublic void test(){ int[][] num = new int[100][100]; int n = 6; int count =1; for(int i=0;i&lt;n;i++){ for(int ...

2018-09-27 00:15:59 468

转载 java实现6种排序算法

典型的二分查找对于二分查找算法要求, 查找前的数据必须是已经排好序的, 然后得到数组的开始位置start和结束位置end, 取中间位置mid的数据a[mid]跟待查找数据key进行比较, 若 a[mid] &gt; key, 则取end = mid - 1; 若 a[mid] &lt; key, 则取start = mid + 1; 若 a[mid] = key 则直接返回当前mid为查找到的位...

2018-09-26 23:52:29 89

转载 常见java算法题

1.编写一个程序,输入n,求n!(用递归的方式实现)。public static long fac(int n){ if(n&lt;=0) return 0; else if(n==1) return 1; else return n*fac(n-1); } public static void main(String [] ...

2018-09-26 23:20:43 1750

原创 Linux下JDK、Tomcat、MySql安装

1.JDK安装注意:rpm与软件相关命令 相当于window下的软件助手 管理软件步骤:1)查看当前Linux系统是否已经安装java输入 rpm -qa | grep java2)卸载两个openJDK输入rpm -e --nodeps 要卸载的软件3)从本地上传jdk-7u71-linux-i586.tar.gz压缩包到linux4)解压jdk到/usr/local下 ta...

2018-09-26 23:00:36 96

原创 Linux基本命令

一、Linux的基本命令1.目录切换命令window中通过图形化界面和鼠标可以任意切换需要进入的目录,但Linux必须通过cd命令切换目录。但在学习cd命令之前,我们有必要分清Linux的目录结构cd usr 切换到该目录下usr目录cd …/ 切换到上一层目录cd / 切换到系统根目录cd ~ 切换到用户主目录cd - 切换到上一个所在目录2.目录的操作命令(增删...

2018-09-26 22:45:10 103

转载 Maven详解

一.前言以前做过的项目中,没有真正的使用过Maven,只知道其名声很大,其作用是用来管理jar 包的。最近一段时间在项目过程中使用Maven,用Maven构建的web项目,其项目结构只停留在了解阶段,没有深入的使用与理解,刚好最近看了一篇关于Maven的详解;就开始深入学习一下Maven的具体应用。二.Maven的作用在开发中,为了保证编译通过,我们会到处去寻找jar包,当编译通过了,运行的...

2018-09-26 21:34:57 94

转载 JAVA:SSH三大框架题集合

Struts,Spring,Hibernate三大框架1.Hibernate工作原理及为什么要用?原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory3.打开Session 4.创建事务Transation 5.持久化操作 6.提交事务 7.关闭Session 8.关闭SesstionFactory为什么要用: 1. 对JDBC访问数据库的代码做了封装,大...

2018-09-26 20:22:20 355

转载 JAVA:SSH框架面试技巧和常见面试问题

1.请描述下你做的项目:XXX系统是什么什么,主要目的是XXX,整个系统包含了哪些功能模块,然后说包含了哪些模块,自己做了哪些模块。2.结合项目谈谈你对MVC的理解MVC是model-view-controler的简称。也就是模型-视图-控制器。mvc是一种设计模式,他强制性的把应用程序的输入、处理和输出分开。mvc中的模型、视图、控制器分别担任着不同的任务。视图:视图是用户看到并与之交互...

2018-09-26 20:13:41 660

转载 JAVA中栈和堆的理解

简单的说: Java把内存划分成两种:一种是栈内存,一种是堆内存。在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。堆内存用来存放由new创建的对象和数组。在堆中分配的内存,由Java虚拟机的自动垃圾回...

2018-09-26 20:06:52 128

转载 JAVA:String和StringBuffer的区别

简单地说,就是一个变量和常量的关系。StringBuffer对象的内容可以修改;而String对象一旦产生后就不可以被修改,重新赋值其实是两个对象。StringBuffer的内部实现方式和String不同,StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuff...

2018-09-26 17:19:12 1270

转载 java中常用设计模式

一.java的设计模式大体上分为三大类:创建型模式(5种):工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。结构型模式(7种):适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元模式。行为型模式(11种):策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。二.常用设计模式:工厂...

2018-09-26 16:04:29 276

空空如也

空空如也

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

TA关注的人

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