java
文章平均质量分 66
花小胖
这个作者很懒,什么都没留下…
展开
-
java 组合与继承
在阅读Effective Java中的第16条时发现了一个有趣的机制或者说是模式,那就是组合(文中翻译为复用,但是作者认为组合更能体现这种模式的精神),并且文中建议使用组合。 那什么是组合,组合相较于继承的优点在哪里,缺点又有哪些,组合和继承更适合怎样的场景,更重要的是作者在校基础课程的学习中尽然都没有接触到组合这个概念,实在有理由探索一下!我们分别了解一下组合和继承的概念组合组合...转载 2019-10-23 14:35:01 · 189 阅读 · 0 评论 -
restful风格,restcontroller与controller
初步接触springmvc的时候,被要求使用restful风格,彼时一头雾水,不懂何谓restful,参阅了很多资料,慢慢的接触的也越来越多,如今spring的况且已基本运用熟练,简单谈一下我的一些看法,当然,只是我自己的浅显粗陋的见解,不对的地方还望指正。restful风格简单的理解,restful是一种url风格,或者说是规范,在以前的网址中,假定一个业务,取得数据网址为http://test...转载 2018-04-13 15:45:31 · 145 阅读 · 0 评论 -
try-catch-finally用法
try catch finally 用法总结:try { //执行的代码,其中可能有异常。一旦发现异常,则立即跳到catch执行。否则不会执行catch里面的内容 } catch { //除非try里面执行代码发生了异常,否则这里的代码不会执行 } finally { //不管什么情况都会执行,包括try catch 里面用了return ,可以理解为只要执行了try或者catch,就一定会执行 ...转载 2018-04-12 13:55:24 · 228 阅读 · 0 评论 -
IntelliJ IDEA使用教程 (总目录篇)
在调试代码的时候,你的项目得debug模式启动,也就是点那个绿色的甲虫启动服务器,然后,就可以在代码里面断点调试啦。下面不要在意,这个快捷键具体是啥,因为,这个keymap是可以自己配置的,有的人keymap是mac版的,有的是Windows版的。我的就是Windows,而且修改keymap为eclipse的keymap,因为我算是eclipse转过来的吧。下面直接看图,详细解释,每一个按钮(按钮...转载 2018-04-11 20:58:38 · 304 阅读 · 1 评论 -
ModelAndView
Spring Web MVC 处理Http请求的大致过程:一旦Http请求到来,DispatcherSevlet将负责将请求分发。DispatcherServlet可以认为是Spring提供的前端控制器,所有的请求都有经过它来统一分发。在DispatcherServlet将请求分发给Spring Controller之前,需要借助于Spring提供的HandlerMapping定位到具体的Co...原创 2018-04-16 17:45:08 · 247 阅读 · 0 评论 -
java常用注解
这两天公司在做一个网站项目,框架使用的是springMVC框架,在这里对这几个注解做一个归纳整理项目中的controller层使用@controller注解@Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象。分发处理器将会扫描使用了该注解的类的方法。通俗来说,被Controller标记的类就是一个控制器,...转载 2018-04-16 14:14:51 · 473 阅读 · 0 评论 -
requeset.getPath()多种路径获取方式
假定你的web application 名称为news,你在浏览器中输入请求路径:http://localhost:8080/news/main/list.jsp1.1 System.out.println(request.getContextPath());打印结果:/news1.2 System.out.println(request.getServletPath());打印结果:/main/...原创 2018-03-21 16:59:51 · 688 阅读 · 0 评论 -
解析ResponseBody ResultMapping
国际惯例先介绍什么是@RequestMapping,@RequestMapping 是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径;用于方法上,表示在类的父路径下追加方法上注解中的地址将会访问到该方法,此处需注意@RequestMapping用在类上可以没用,但是用在方法上必须有。@RequestMapping("user")pu...原创 2018-03-30 10:59:38 · 963 阅读 · 0 评论 -
filter的权限过滤(基础篇--用户是否登录权限过滤)
Filter:过滤器 Filter主要用于对用户请求进行预处理,也可以对HttpServletResponse进行后处理,是个典型的处理链。使用Filter的完整流程是:Filter对用户请求进行预处理,接着将请求交给Servlet进行处理并生成响应,最后Filter再对服务器响应进行后处理 创建Filter的步骤: 1.创建Filter处理类 2.在web.xml文件中配置Fil...原创 2018-03-20 15:18:35 · 3847 阅读 · 0 评论 -
MyBatis用法
1.占位符 #{} ${} 一般参数传递用#{},sql执行时参数带引号“” 在进行group by 或order by 的时候,使用${},sql执行的时候不带引号原则:能用#的地方不要用$,避免sql注入,更加安全,列个例子供参考:(1)#将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sql时...原创 2018-03-22 19:33:17 · 214 阅读 · 0 评论 -
什么是Spring?它有哪些好处?
Spring是一个轻量级控制反转(IOC)和面向切面(AOP)的容器框架,它主要是为了解决企业应用开发的复杂性而诞生的:目的:解决企业级应用开发的复杂性。功能:使用基本的JavaBean代替EJB。范围:任何Java应用。Spring的存在是因为它自身的得天独厚的优势:它定位的领域是许多其他流行的framework没有的。Spring是全面的转载 2017-10-10 21:00:21 · 395 阅读 · 0 评论 -
servlet 杂谈
getAttribute表示从request范围取得设置的属性,必须要先setAttribute设置属性,才能通过getAttribute来取得,设置与取得的为Object对象类型 getParameter表示接收参数,参数为页面提交的参数,包括:表单提交的参数、URL重写(就是xxx?id=1中的id)传的参数等,因此这个并没有设置参数的方法(没有setParameter),而且接收参数返回原创 2017-10-09 22:16:26 · 119 阅读 · 0 评论 -
设计模式之单例模式
本文继续介绍23种设计模式系列之单例模式。概念: java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。 单例模式有以下特点: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例,而且自行实例化并转载 2017-10-06 21:44:12 · 129 阅读 · 0 评论 -
@SuppressWarnings注解
简介:java.lang.SuppressWarnings是J2SE5.0中标准的Annotation之一。可以标注在类、字段、方法、参数、构造方法,以及局部变量上。作用:告诉编译器忽略指定的警告,不用在编译完成后出现警告信息。使用:@SuppressWarnings(“”)@SuppressWarnings({})@SuppressWarnings(value={})根据sun的官方文档描述:v...转载 2018-04-13 15:49:17 · 237 阅读 · 0 评论 -
hibernate 常用hql语句
这篇随笔将会记录hql的常用的查询语句,为日后查看提供便利。在这里通过定义了三个类,Special、Classroom、Student来做测试,Special与Classroom是一对多,Classroom与Student是一对多的关系,这里仅仅贴出这三个bean的属性代码:Special类:public class Special{ private int id; privat...转载 2018-04-19 20:24:32 · 294 阅读 · 0 评论 -
struts参数传递演化
写服务端比较头疼的事情就是从前端往后台传递参数了,一般的套路是:前端页面写一大堆乱七八糟的参数 --> 传递到后台 --> 后台接收并且提取封装为一个对象,然后拿这个对象去进行各种业务操作。 v0.1 最早的时候是使用的Servlet,它是这样子的: 前端代码: <form action="loginServlet" method="post"> 用户名:<...转载 2018-04-20 10:13:58 · 135 阅读 · 0 评论 -
springboot + mybatis plus强大的条件构造器queryWrapper、updateWrapper
版权声明: https://blog.csdn.net/m0_37034294/article/details/82917234注明:上篇文章介绍了springboot+mybatis-plus通用CRUD的用法,这篇文章我们来介绍一下mybatis-plus强大的条件构造器。mybatis-plus的版本为最新版3.0.3 。条件构造器咱们讲述queryWrapper和updateWrapp...转载 2018-12-10 20:19:28 · 3783 阅读 · 0 评论 -
spring注解详解
转自:https://blog.csdn.net/xyh820/article/details/7303330/概述注释配置相对于 XML 配置具有很多的优势:它可以充分利用 Java 的反射机制获取类结构信息,这些信息可以有效减少配置的工作。如使用 JPA 注释配置 ORM 映射时,我们就不需要指定 PO 的属性名、类型等信息,如果关系表字段和 PO 属性名、类型都一致,您甚至无需编...转载 2018-12-08 19:00:27 · 122 阅读 · 0 评论 -
RedisTemplate的使用
1.模板提供了操作视图(按照Redis命令参考分组),它们提供了丰富的、现成的接口用于对特定类型或者特定键的操作(通过KeyBound接口),如下所述:接口 描述 Key类型操作 ValueOperations 操作Redis String(或者Value)类型数据 ListOperations ...转载 2018-12-08 15:17:04 · 852 阅读 · 0 评论 -
jonsArray list jsonObject
今天在写代码时候,遇到了需要将json文本改成jsonobject对象,然后将jsonobject对象转换成jsonArray数组,最后再把数组转换成list集合的问题; 经过网上搜索 及查看编写,总于写出来了, 现把代码写出来,以供以后用的时候可以参考 第一步:先获取jsonobject对象JSONObject obj=JSONObject.parseObject(result);...转载 2018-11-25 20:10:52 · 243 阅读 · 0 评论 -
java 新老对象赋值 & 对象拷贝
注意target和source位置,通过点击查看源码确认1.相同类型对象赋值TeacherBase teacherBase = new TeacherBase();BeanUtils.copyProperties(teacherBaseOld,teacherBase);2.对象拷贝类型完全相同才赋值,否则不覆盖BeanCopier copier = BeanCopier.create...原创 2018-10-26 18:06:00 · 1046 阅读 · 0 评论 -
hibernate 单向关联&双向关联
多对一:就是A表中的一个字段是B表的主键。多个A表中的数据可以对应一个B表中的数据,同理,一个B表中的数据可以同时对应多个A表中的数据。 单向关联与双向关联对数据表的要求其实是一致的。满足对应的关联要求即可,也就是A表中的一个字段是B表中的主键。单向关联与双向关联的需求是不一样的。单向关联,只需要可以通过主表找到控表即可。这个很简单,通过简单的sql语句,select B from...转载 2018-10-23 16:35:25 · 537 阅读 · 0 评论 -
hibernate 一些总结
many-to-one:描述多对一的一种数据模型,它指定many一方是不能独立存在的,我个人认为many-to-one是NHB中保证数据有效性的最有用的一种映射,通过使用many-to-one能有效的防治孤儿记录被写入到数据表中。在本文描述的例子中,Student类和Classes类之间是多对一关系. 通过many-to-one元素,可以定义一种常见的与另一个持久化类的关联。这种关系模型是多对...原创 2018-10-22 20:03:01 · 101 阅读 · 0 评论 -
hibernate SqlQuery查询字段映射
如果使用原生sql语句进行query查询时,hibernate是不会自动把结果包装成实体的。所以要手动调用addEntity(Classclass)等一系列方法。如session.createSQLQuery(sql).addEntity(Classclass);注意hibernate3.0.5不支持,单个参数的addEntity方法另外,hibernate3.2可以对原生sql查询使用R...原创 2018-10-18 15:16:31 · 2790 阅读 · 0 评论 -
Java 单测之Mock
一.前言集成的单元测试和集成测试有什么区别呢? 集成测试(Integration Testing):是在单元测试的基础上,将所有模块按照概要设计要求组装成为一个子系统或者系统,进行集成测试。一些模块虽然能够单独工作,但并不能保证连接起来也能正常的工作,程序在某些局部反映不出来的问题,在全局上很可能暴漏出来,因此集成测试十分必要。 集成的单元测试:按字面意思的理解,就是对该集成类进行单...转载 2018-09-25 15:16:27 · 6011 阅读 · 0 评论 -
HashMap常用操作
Map是java中的接口,Map.Entry是Map的一个内部接口。 Map提供了一些常用方法,如keySet()、entrySet()等方法,keySet()方法返回值是Map中key值的集合;entrySet()的返回值也是返回一个Set集合,此集合的类型为Map.Entry。它是Map声明的一个内部接口,此接口为泛型,定义为Entry<K,V>。它表示Map中...原创 2018-08-25 17:34:11 · 202 阅读 · 0 评论 -
SpringBoot注解
有关SpringBoot架构中yml配置文件的两种读取方式:@ConfigurationProperties @Value但是在使用之前必须用@Component/@Configuration使其成为Spring容器的组件,这样Spring才能为它注入值。直白的说Component包含了Configuration的所用注解:Configuration和Component都是注解在类...原创 2018-08-28 20:24:48 · 133 阅读 · 0 评论 -
Collections.sort()两种用法
Collections是一个工具类,sort是其中的静态方法,是用来对List类型进行排序的,它有两种参数形式:(1)public static <T extends Comparable<? super T>> void sort(List<T> list) { list.sort(null);}(2)public stat...转载 2018-08-24 15:19:55 · 1763 阅读 · 0 评论 -
Spring MVC详解
一、 SpringWeb MVC是什么 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架 使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型 框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。二转载 2017-09-26 17:47:49 · 819 阅读 · 0 评论 -
Spring MVC框架原理(待补充)
1、 用户发送请求至前端控制器DispatcherServlet2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。3、 处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。4、 DispatcherServlet通过HandlerAdapte原创 2017-09-23 10:43:48 · 166 阅读 · 0 评论 -
JVM内存分配与回收策略
转自http://www.cnblogs.com/z-sm/p/6252245.html总的来说,JVM管理的内存包括堆内存和非堆内存。堆就是Java代码可及的内存,是留给开发人员使用的;非堆就是JVM留给自己用的,所以方法区、JVM内部处理或优化所需的内存(如JIT编译后的代码缓存)、每个类结构(如运行时常数池、字段和方法数据)以及方法和构造方法的代码都在非堆内存中。因此这里转载 2017-08-28 10:51:13 · 314 阅读 · 0 评论 -
java clone()
Java中对象的创建clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象。所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象。那么在java语言中,有几种方式可以创建对象呢?1 使用new操作符创建一个对象2 使用clone方法复制一个对象那么这两种方式有什么相同和不同呢? new操作符的转载 2017-07-20 22:08:34 · 139 阅读 · 0 评论 -
java 多态提高篇
package Basement;/** * * 当超类对象引用变量引用子类对象时,被引用对象的类型而不是引用变量的类型决定了调用谁的成员方法, * 但是这个被调用的方法必须是在超类中定义过的,也就是说被子类覆盖的方法,但是它仍然要根据继承链中方法调用的优先级来确认方法, * 该优先级为:this.show(O)、super.show(O)、this.show((super)转载 2017-07-20 12:26:47 · 142 阅读 · 0 评论 -
Java 反射机制详解
Java反射机制详解| |目录1反射机制是什么2反射机制能做什么3反射机制的相关API·通过一个对象获得完整的包名和类名·实例化Class类对象·获取一个对象的父类与实现的接口·获取某个类中的全部构造函数 - 详见下例·通过反射机制实例化一个类的对象·获取某个类的全部属性·获取某个类的全部方法·通过反射机制调用某个类的方法·通过反射机制操作某个类的属性·反射机制的动态代理4反射转载 2017-07-19 21:23:35 · 127 阅读 · 0 评论 -
string char[] 转化
字符串和字符数组间的转化:string转char[]: String string = "I am a student."; char []a = string.toCharArray();charp[]转string: String string = null; char []a = {'a','b','c'};原创 2017-06-13 20:33:03 · 171 阅读 · 0 评论 -
java 组合与继承2
要实现的目标:鸟(Bird)和狼(Wolf)都是动物(Animal),动物都有心跳(beat()),会呼吸(beat()),但是鸟会fly(fly()),狼会奔跑(run()),用Java程序实现以上描述。InheritTest.java 使用继承方式实现目标CompositeTest.java 使用组合方式实现目标[java] view plain cop转载 2017-07-13 20:18:21 · 205 阅读 · 0 评论 -
java 继承与组合
本文主要说明Java中继承与组合的概念,以及它们之间的联系与区别。首先文章会给出一小段代码示例,用于展示到底什么是继承。然后演示如何通过“组合”来改进这种继承的设计机制。最后总结这两者的应用场景,即到底应该选择继承还是组合。1、继承假设我们有一个名为Insect(昆虫)的类,这个类包含两个方法:1)移动move(); 2)攻击attack()。代码如下:转载 2017-07-13 20:03:05 · 147 阅读 · 0 评论 -
static final关键字总结
Java关键字final、static使用总结 一、final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 final类不能被继承,没有子类,final类中的方法默认是final的。 final转载 2017-06-30 11:19:16 · 171 阅读 · 0 评论 -
collection collections 区别
Collection是集合类的上级接口,继承与他有关的接口主要有List和SetCollections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全等操作例如:Collections.sort(list)//排序Collections.reverse(list)//逆序然后还有混排(Shuffling)、反转(Revers原创 2017-06-29 22:21:53 · 141 阅读 · 0 评论 -
HashMap HashTable TreeMap区别
java为数据结构中的映射定义了一个接口java.util.Map,而HashMap Hashtable和TreeMap就是它的实现类。Map是将键映射到值的对象,一个映射不能包含重复的键;每个键最多只能映射一个一个值。 Hashmap 是一个最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度。HashMap最多只允许一条原创 2017-06-29 21:38:31 · 207 阅读 · 0 评论