- 博客(94)
- 资源 (6)
- 收藏
- 关注
原创 非常容易理解的的jdk动态代理
基于接口的动态代理 要求:被代理类最少实现一个接口 提供者:JDK官方 基于接口的动态代理: 涉及的类:Proxy 创建代理对象的方法:newProxyInstance() 方法的三个参数: ClassLoader:类...
2019-07-27 23:29:13 231
原创 根据数据库的快捷创建实体类的小方法
当数据库中的表中,字段过多时,创建一个实体类就会相对于比较麻烦,在这里提供了一个小方法,可以快捷的创建实体类,当我们在数据库中创建表和数据之后,所有的信息都会在information_schema中,打开数据中的information_schema,进行如下操作:选取需要的字段名和 字段类型进行字符串拼接,复制选中的区域,粘贴到实体类中ctrl+F ...
2019-07-20 15:32:55 1691 1
原创 类、方法、接口的修饰符总结
1、抽象类中的抽象方法(其前有abstract修饰)不能用private、static、synchronized、native访问修饰符修饰。原因如下:抽象方法没有方法体,是用来被继承的,所以不能用private修饰;static修饰的方法可以通过类名来访问该方法(即该方法的方法体),抽象方法用static修饰没有意义;使用synchronized关键字是为该方法加一个锁。。而如果该关键字修饰的方...
2019-05-20 19:23:12 1332
原创 最详细的JDK8新特性————方法引用
方法引用在使用Lambda表达式的时候,我们实际上传递进去的代码就是一种解决方案:拿什么参数做什么操作。那么考虑一种情况:如果我们在Lambda中所指定的操作方案,已经有地方存在相同方案,那是否还有必要再写重复逻辑?冗余的Lambda场景来看一个简单的函数式接口以应用Lambda表达式:@FunctionalInterfacepublic interface Prin...
2019-05-20 18:13:10 1010
原创 最详细的JDK8新特性————Stream流
Stream流在Java 8中,得益于Lambda所带来的函数式编程,引入了一个全新的Stream概念,用于解决已有集合类库既有的弊端。传统集合的多步遍历代码:几乎所有的集合(如Collection 接口或Map 接口等)都支持直接或间接的遍历操作。而当我们需要对集合中的元素进行操作的时候,除了必需的添加、删除、获取外,最典型的就是集合遍历。例如:public clas...
2019-05-20 17:58:12 529
原创 最详细的JDK8新特性————Lamba表达式
函数式接口在Java中是指:有且仅有一个抽象方法的接口。函数式接口,即适用于函数式编程场景的接口。而Java中的函数式编程体现就是Lambda,所以函数式接口就是可以适用于Lambda使用的接口。只有确保接口中有且仅有一个抽象方法,Java中的Lambda才能顺利地进行推导。函数式接口格式:只要确保接口中有且仅有一个抽象方法即可:修饰符 interface 接口名称 {publ...
2019-05-20 17:42:18 291
原创 mybatis总结(一)
mybatis是什么?mybatis是一个持久层的框架,是apache下的顶级项目。mybatis托管到goolecode下,再后来托管到github下(https://github.com/mybatis/mybatis-3/releases)。mybatis让程序将主要精力放在sql上,通过mybatis提供的映射方式,自由灵活生成(半自动化,大部分需要程序员编写sql)满足...
2019-05-07 17:39:03 291
原创 带标签的continue、break不带标签的和continue、break之间的区别?
标签:在JAVA中,标签是后面带有冒号的标识符(来源于java编程思想),就像下面这样:Outer:在JAVA中,标签起作用的唯一的地方刚好是迭代语句之前。“刚好之前”的意思是,在标签和迭代之间置入任何语句都不好。而在迭代之前设置标签的唯一理由是:我们希望在其中嵌套另一个迭代或者一个开关。这是由于break和continue关键词通常只中断当前循环,但若随同标签一起使用,它们就会中...
2019-04-11 15:21:38 1010
原创 SSH整合(xml和注解版本)
spring配置使用注解实现第一步:导入spring的必备jar包之前的环境已经导入。略。第二步:在spring配置文件中导入context名称空间及约束<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"...
2019-03-27 17:50:37 216
原创 SSH整合(xml优化版)
优化版基于xml的基础上进行改进的,xml版本:https://blog.csdn.net/Gray_humor/article/details/88849206主要和xml版本的区别是把hibernate.cfg.xml中的配置都挪到spring的配置文件中:配置方式:<!-- 配置SessionFactory --><bean id="sessio...
2019-03-27 17:40:30 191
原创 SSH整合(xml版本)
(一、)整合前的准备:所有的准备资料都可以从这里获取:https://download.csdn.net/download/gray_humor/11065452第一步:创建java web工程:第二步:创建数据库和表结构:create database crm;use crm;/*创建客户表*/CREATE TABLE `cst_customer` ( `...
2019-03-27 17:31:25 264
原创 spring总结(六)
Spring中的事务控制Spring事务控制我们要明确的第一:JavaEE体系进行分层开发,事务处理位于业务层,Spring提供了分层设计业务层的事务处理解决方案。第二:spring框架为我们提供了一组事务控制的接口。具体在后面的第二小节介绍。这组接口是在spring-tx-4.2.4.RELEASE.jar中。第三:spring的事务控制都是基于AOP的,它既可以使用...
2019-03-26 15:09:39 256
原创 spring总结(五)
Spring中的JdbcTemplateJdbcTemplate概述它是spring框架中提供的一个对象,是对原始Jdbc API对象的简单封装。spring框架为我们提供了很多的操作模板类,如下图所示:JdbcTemplate对象的创建我们可以参考它的源码,来一探究竟: public JdbcTemplate() { } public JdbcTemplate(D...
2019-03-26 14:34:47 188
原创 spring总结(四)
基于XML的AOP配置环境搭建第一步:准备客户的业务层和接口(需要增强的类)/** * 客户的业务层接口*/public interface ICustomerService { /** * 保存客户 */ void saveCustomer(); /** * 修改客户 * @param i */ void updateCustomer(in...
2019-03-25 21:24:31 185
原创 spring总结(三)
AOP概述:什么是AOP:AOP:全称是Aspect Oriented Programming即:面向切面编程。简单的说它就是把我们程序重复的代码抽取出来,在需要执行的时候,使用动态代理的技术,在不修改源码的基础上,对我们的已有方法进行增强。AOP的作用及优势:作用:在程序运行期间,不修改源码对已有方法进行增强。优势:减少重复代码 提高开发效率 维护方便AO...
2019-03-25 16:04:58 207
原创 spring总结(二 )
基于注解的IOC配置写在最前学习基于注解的IoC配置,大家脑海里首先得有一个认知,即注解配置和xml配置要实现的功能都是一样的,都是要降低程序间的耦合。只是配置的形式不一样。关于实际的开发中到底使用xml还是注解,每家公司有着不同的使用习惯。所以这两种配置方式我们都需要掌握。环境搭建第一步:拷贝必备jar包到工程的lib目录。注意:在基于注解的配置中,我们还要多拷贝一...
2019-03-21 14:44:42 211
原创 Spring总结(一)
Spring概述spring介绍Spring是分层的Java SE/EE应用 full-stack轻量级开源框架,以IoC(Inverse Of Control:反转控制)和AOP(Aspect Oriented Programming:面向切面编程)为内核,提供了展现层Spring MVC和持久层Spring JDBC以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第...
2019-03-20 16:48:10 232
原创 struts2总结(五)
ruts2的注解配置使用前提struts2框架,它不仅支持基于XML的配置方式,同时也支持基于注解配置的方式。接下来,我们就来讲解,struts2框架如何基于注解配置。首先我们要明确一件事:注解和XML的配置,都是告知struts2框架,当我们jsp页面发送请求,根据配置执行对应动作类的方法,并根据返回值,前往指定的结果视图(jsp页面或者其他动作)。它们只是配置的形式不一样。...
2019-03-19 17:28:24 154
原创 struts2总结(四)
struts2中的拦截器拦截器概述在Webwork的中文文档的解释为——拦截器是动态拦截Action调用的对象。它提供了一种机制可以使开发者在定义的action执行的前后加入执行的代码,也可以在一个action执行前阻止其执行。也就是说它提供了一种可以提取action中可重用代码,统一管理和执行的方式。谈到拦截器,还要向大家提一个词——拦截器链 (Interceptor Chai...
2019-03-19 17:21:35 216
原创 struts2总结(三)
Struts2中使用EL表达式EL表达式的写法:${表达式}。它是从四大域中,由小到大逐个域搜索,根据名称获取值。只要找到了,就不再继续搜索。它的原理:使用的是PageContext类中的findValue方法。Struts2对EL表达式的改变Struts2框架中对EL表达式做了如下改变:EL表达式原来的搜素顺序:page Scope——>req...
2019-03-19 16:56:17 174
原创 struts2总结(二)
GNL表达式入门OGNL表达式概述什么是OGNL表达式OGNL的全称是对象图导航语言(Object-GraphNavigationLanguage),它是一种功能强大的开源表达式语言,使用这种表达式语言,可以通过某种表达式语法,存取Java对象的任意属性,调用Java对象的方法,同时能够自动实现必要的类型转换。如果把表达式看作是一个带有语义的字符串,那么OGNL无疑成为了这个语义字符串...
2019-03-18 22:49:25 220
原创 请求参数封装的方式
请求参数封装概述封装请求参数就是把我们通过浏览器发送请求时,要转递给服务器的数据封装到指定的对象中。这个对象一般都是实体类。但是有时就是Action中的一个属性。也就是说,我们封装请求参数时,可以有实体类,也可以没有。同时,我们还需要知道,请求参数的封装和请求方式无关。无论get还是post都可以封装。属性驱动没有实体类:此种情况,我们一般也称为动作类和模型...
2019-03-17 17:47:43 2669
原创 struts2中访问ServletAPI的方式
1、使用struts2提供的一个ServletActionContext工具类,在该类中包含了一系列相对应的静态方法,可以直接获取。该类包含了一下几个静态方法: static PageContext getPageContext():取得Web应用的PageContext对象。 static HttpServletRequest getRequest():取得Web应用的...
2019-03-17 16:13:46 219
原创 struts2总结(一)
struts2基本概念三层架构:我们的开发架构一般都是基于两种形式,一种是C/S架构,也就是客户端/服务器,另一种是B/S架构,也就是浏览器服务器。在JavaEE开发中,几乎全都是基于B/S架构的开发。那么在B/S架构中,系统标准的三层架构包括:表现层、业务层、持久层。三层架构在我们的实际开发中使用的非常多,所以我们课程中的案例也都是基于三层架构设计的。三层架构中,每一层各司其职,接下...
2019-03-17 11:13:07 490
转载 hibernate的抓取策略
一、hibernate抓取策略概述Hibernate抓取策略(fetching strategy)是指:当应用程序需要在(Hibernate实体对象图的)关联关系间进行导航的时候, Hibernate如何获取关联对象的策略。抓取策略可以在O/R映射的元数据中声明,也可以在特定的HQL 或条件查询(Criteria Query)中重载声明。需要注意的是:hibernate的抓...
2019-03-16 17:32:11 238
原创 hibernate总结(三)
多表设计多表设计的总则问题:我们为什么要学习多表映射?答:在实际开发中,我们数据库的表难免会有相互的关联关系,在操作表的时候就有可能会涉及到多张表的操作。试想一下,如果把我们web阶段的在线商城案例的持久层改为hibernate的实现,我们现在根本无法实现功能。究其原因是我们在线商城中表之间都是有关联关系的。例如:商品和分类,用户和订单,订单和商品等等。掌握配置实体之间的关...
2019-03-15 17:24:14 299
原创 hibernate总结(二)
hibernate的持久化类和对象标识符什么是持久化类:Hibernate是持久层的ORM映射框架,专注于数据的持久化工作。所谓的持久化,就是将内存中的数据永久存储到关系型数据库中。持久化类的编写规则:(1)持久化类需要提供无参数的构造方法。因为在Hibernate的底层需要使用反射生成类的实例。(2)持久化类的属性需要私有,对私有的属性提供公有的get和set方法。因为在Hi...
2019-03-15 13:37:30 269
原创 hibernate总结(一)
Hibrenate概述Hibernate框架是当今主流的Java持久层框架之一,由于它具有简单易学、灵活性强、扩展性强等特点,能够大大地简化程序的代码量,提高工作效率,因此受到广大开发人员的喜爱。Hibernate是一个开放源代码的ORM框架,它对JDBC进行了轻量级的对象封装,使得Java开发人员可以使用面向对象的编程思想来操作数据库。ORM概述Object Rela...
2019-03-15 12:41:19 307
原创 Solr总结
一、solr的介绍 什么是solr Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。Solr可以独立运行在Jetty、Tomcat等这些Servlet容器中。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。使用Solr 进行创建索引和搜索索引的实现方法很简单,如下:创...
2019-02-01 22:28:55 235
原创 配置Dataimport插件
Dataimport插件的作用:该插件可以将数据库中指定的sql语句的结果导入到solr索引库中。添加jar包Dataimport的jar包 复制以下目录的jar包添加到以下目录修改solrconfig.xml文件,添加lib标签<lib dir="${solr.install.dir:../..}/contrib/dataimporthandler/l...
2019-02-01 22:18:42 490
原创 Solr配置IK Analyzer
拷贝jar包至:tomcat-8\webapps\solr\WEB-INF\lib 文件夹下 拷贝剩余三个资源文件至:tomcat-8\webapps\solr\WEB-INF\classes文件夹下 定位到目录:solr_home\newcore\conf下 修改managed-schema文件,在文件内容的最后添加IK分词filed,名称为“text_ik...
2019-02-01 22:02:02 350
原创 Solr服务器的搭建(完整版)
环境介绍window10 64位 JDK1.8 64位 Tomcat 8 64位 solr solr-6.4.1jdk和tomcat的安装过程就省略了首先解压下载好的solr 1.把solr-6.5.1\server\solr-webapp目录下的webapp重命名为solr,并且复制到apache-tomcat-8.0.47\webapps目录下。2.打开ap...
2019-01-29 16:24:34 269
原创 Redis的总结(二)
redis数据类型【重点】redis 使用的是键值对 保存数据。(map) key:全部都是字符串value:有五种数据类型 Key名:自定义,key名不要过长,否则影响使用效率Key名不要太短,最好是有意义。 4、redis命令-String命令【重点】字符串类型是Redis中最为基础、常用的数据存储类型,字符串在Redis中是二进制安全的,这便...
2019-01-25 20:54:23 313
原创 Redis的总结(一)
redis简述及安装 关系型数据库(SQL):Mysql,oracle特点:数据和数据之间,表和字段之间,表和表之间是存在关系的例如:部门表 001部分, 员工表 001 用户表,用户名、密码 分类表 和 商品表, 一对多关系。优点:①数据之间有关系,进行数据的增删改查时非常方便的。 ②关系型...
2019-01-25 19:59:49 232
原创 Linux上jdk,mysql,tomcat安装
Linux上jdk,mysql,tomcat安装【重点】 rpm命令:相当于windows的添加/卸载程序、进行程序的安装、更新、卸载、查看本地程序安装:rpm -ivh 程序名本地程序查看:rpm -qa本地程序卸载:rpm -e --nodeps 程序名 yum命令:相当于可以联网的rpm命令相当于先联网下载程序安装包、程序的更新包自动执行rpm命令 ...
2019-01-25 19:37:58 214
原创 Lucene的总结(二)
一、搜索流程 代码实现@Test public void indexSearch() throws Exception { // 创建query对象 // 使用QueryParser搜索时,需要指定分词器,搜索时的分词器要和索引时的分词器一致 // 第一个参数:默认搜索的域的名称 QueryParser parse...
2019-01-24 22:13:10 249
原创 Lucene的总结(一)
一、什么是Lucene?Lucene是apache下的一个开源的全文检索引擎工具包。它为软件开发人员提供一个简单易用的工具包(类库),以方便的在目标系统中实现全文检索的功能。 注意:Lucene和搜索引擎是不同的,Lucene是一套用java或其它语言写的全文检索的工具包。它为应用程序提供了很多个api接口去调用,可以简单理解为是一套实现全文检索的类库。搜索引擎是一个...
2019-01-24 21:34:31 196
原创 如何在eclipse中添加dtd文件?
1、首先打开eclipse中找到window,找到xml catalag 2、点击add3、找到本地磁盘上的dtd文件,导入进去,打开dtd文件找到URI,写入下面的key中4、然后就可以了...
2019-01-09 22:03:50 1060
原创 什么是Java序列化,如何实现java序列化
简要解释: 序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。 序列化是为了解决在对对象流进行读写操作时所引发的问题。序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implements Serializable只是为了标注该对象是可被序列化的,然后使用...
2018-12-29 23:02:14 189
原创 IO流
ObjectOutputStream/ObjectInputStream:对象的输入输出流作用:读写对象信息。写到文件上将对象信息持久化 对象输出流:ObjectOutputStream 对象输入流:ObjectInputStream注意:如果对象需要被写出到文件上,则对象所属的类必须要实现Serializable接口。Serializable接口没有方法,只是一个标识接口对象的...
2018-12-29 20:48:31 199
vmware虚拟机和VirtualBox虚拟机
2019-01-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人