- 博客(42)
- 资源 (1)
- 收藏
- 关注
原创 Spring IOC/DI
IOC[ Inversion of controller ] 控制反转DI [Dependency Injection] 依赖注入IOC 能够做的事情由程序员主动通过 new 实例化对象事情转交给 Spring 负责 ,控制反转中反转指的是转交给 Spring 负责DI 当一个类(A)中需要依赖另一个类(B)对象时,把 B 赋值给 A 的过 程就叫做依赖注入Spring ...
2019-07-20 17:29:08 173
原创 LinkList与ArrayList的区别
要谈LinkList与ArrayList的区别,首先我们得看它们的底层原理是什么ArrayList底层是一个Object类型的数组LinkList底层采用的是一个Node (我们通常理解为链表,它是LinkList的一个内部类) 相同点都是一样的,都可以存储多个数据不同点是 ArrayList 操作 元素 比如 移动,删除 效率是比较低下的,这个跟它底层数组有关系,如果操作数...
2018-12-19 10:40:13 864
原创 剖析ArrayList底层和添加元素的原理
我们在实际工作中使用List情况非常多。那么我们来看下ArrayList的 底层是如何实现的其实ArrayList底层是一个Object 的 数组我们来看下jdk中的源代码 如下public class ArrayList<E> extends AbstractList<E> implements List<E>, Random...
2018-12-19 10:20:55 1692 2
原创 SpringData JPA
SpringDataJPA 是springdata 项目下的一个模块。提供了一套基于JPA 标准操作数据库的简化方案。底层默认的是依赖 HibernateJPA 来实现的。SpringDataJPA 的技术特点:我们只需要定义接口并集成 Spring DataJPA 中所提供的接 口就可以了。不需要编写接口实现类spring-data-jpa接口继承关系Repositor...
2018-12-14 11:30:13 176
原创 基于SpringBoot搭建SSM项目
在idea中我们先创建好maven项目,导入好依赖包pom.xml如下<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...
2018-12-13 11:09:15 483 1
原创 String底层原理
今天模拟面试遇到一位同学,刚好问到一个问题我问他 String的底层原理是什么他思考了一会说不知道。那么我们在面试的时候有可能会遇到类似的问题,怎么去解答,肯定是要去看String的源码的public final class String implements java.io.Serializable, Comparable<String>, CharSequ...
2018-12-11 13:24:08 15693 6
原创 git常用操作命令
git add 添加文件git commit -m "msg" 提交文件git status 查看文件状态[是否被修改]git diff 查看文件修改内容git log 查看提交记录 参数 --pretty=oneline用HEAD表示当前版本 HEAD^表示上一个版本...
2018-12-07 13:31:54 104
原创 使用idea搭建SSM项目
刚使用idea其实还是很不习惯,原来都是习惯用于eclipse或者myeclipse。现在用到ieda来搭建ssm项目的时候,发现一些问题。那么跟着博主一起来看看首先我们在idea中 新建 maven项目 点击下一步,输入我们的模块名称和公司名称再下一步,选择maven配置(这里我选择是默认的),再下一步直到完成 那么完成后来到这个页面,我们等待它的后台maven...
2018-12-07 12:52:23 564 2
原创 封装JDBC操作
我们知道原生的jdbc操作dao非常麻烦,要获取连接,然后预编译SQL语句,然后再发送执行获取结果。如果是查询我们还要通过迭代器来迭代获取数据再做封装,不能做到通用的一个处理。我这里分享一个自己做的封装的工具类,可以支持所有的 DQML操作,基本就两个方法一个update方法,支持所有的DML操作一个query方法,支持所有的query操作那么这里需要导入apache提供的jd...
2018-12-06 11:29:56 341
原创 Spring声明式事物管理 -JDBC
声明式事务管理事务是一组操作的执行单元,相对于数据库来说,事务管理的是一组SQL,比如增删改事务的一致性,要求事物内部的操作必须全部执行成功,如果在此过程中出了差错,那么一组操作都将全部回滚事务特性 ACID原则Atomicity: 原子性 要么成功,要么失败Consistency:一致性 数据应该不会背破坏Isolation: 隔离性 用户间的操作,...
2019-07-29 23:08:51 218
原创 Spring JdbcTemplate
Spring也是支持JDBC操作,封装了它的模板类 JdbcTemplate,对原生JDBC操作进行了简化使用它需要导入 spring-jdbc的jar以及spring-tx的jar包我们导入以下jar包 以及数据库的驱动包C3P0连接池在项目下新建db.properties配置文件,用来配置数据库连接信息以及连接池配置driverClass=com.mysql.j...
2019-07-29 22:17:25 234
原创 Srping AOP面向切面编程
AOP:中文名称面向切面编程 (Aspect Oriented Programming)正常程序执行流程都是纵向执行流程面向切面编程,在原有纵向执行流程中添加横切面不需要修改原有程序代码 高扩展性 原有功能相当于释放了部分逻辑.让职责更加明确面向切面编程是什么?在程序原有纵向执行流程中,针对某一个或某一些方法添加通 知,形成横切面过程就叫做面向切面编程.常...
2019-07-29 21:56:48 269
原创 代理实现几种方式
代理,这里讲三种代理实现方式1.静态代理静态代理是基于接口实现方式实现代理操作类似于 某个公司需要找明星代言产品,那么在找指定的明星的时候,是不会直接找到其明星本人,而是找他的经纪人或者经济公司,那么这个经纪人或者经济公司实际上就是该明星的代理操作,最终做事情的还是明星,代理只是帮明星做了前置或者后置的一些工作/** * @Description * @Author xz ...
2019-07-24 12:01:00 906
原创 Spring学习
一:Spring简介功能说明1.主要发明者:Rod Johnson2.轮子理论推崇者: 2.1 轮子理论:不用重复发明轮子. 2.2 IT 行业:直接使用写好的代码.3.Spring 框架宗旨:不重新发明技术,让原有技术使用起来更加方便4.Spring 几大核心功能 4.1 IoC/DI 控制反转/依赖注入 4.2 AOP 面向切面编程4.3 声明式...
2019-07-20 16:28:45 123
原创 SSH整合
项目结构Dept类提供 属性 与 get/set方法提供 hibernate映射配置文件<hibernate-mapping package="com.xt.entity"> <class name="Dept"> <id name="deptNo"> <generator class="...
2019-07-19 18:06:31 116
原创 Spring整合Hibernate 使用 声明式事务管理
java实体类 public class Dept { private int deptNo; private String dname; private String loc; @Override public String toString() { return "Dept{" + "deptNo=...
2019-07-19 13:04:04 177
原创 struts2实现Aajx 和 Json
实现前后 ajax 的json交互,首先我们导入对应的jar包Action类 public String getJson() throws IOException { JSONObject jsonObj = new JSONObject(); JSONObject jsonObject = new JSONObject(); j...
2019-06-30 22:42:35 243
原创 数据校验
struts后天提供了 数据校验的功能使用步骤 继承ActionSupport 重写 vilidate方法 @Override public void validate() { System.out.println("调用vilidate方法"); if(uname==null || "".equals(uname)){ ...
2019-06-19 22:53:17 378
原创 Action三种使用方式
1.不实现Action接口 (默认执行execute方法)2.实现Actoin接口 该接口定义了默认的execute方法的标准,并且提供了项目中常用的视图标记3.继承ActionSupport (推荐使用) 好处:1.提供了常用的视图标记 2.提供了数据校验的功能...
2019-06-19 21:38:27 1278
原创 值栈
Strtus2的值栈(ValueStack)对象[利用了OgnlContext对象]ValueStack接口,最终在项目中存数据对象是它的实现类OgnlVauleStackValueStack数据存储结构:分为List栈(根栈) 和Map栈(非根栈 )使用OGNL表达式取List栈数据不需要#非根栈的对象取值我们需要给前面添加#,例如:#request,#session,#applica...
2019-06-19 21:37:51 197
原创 struts2拦截器
拦截器简介类似于过滤器的功能,过滤器可过滤项目任何请求(servlet/jsp),但拦截器只能拦截Action,拦截后,添加逻辑代码拦截器编写规则编写类,继承Interceptor接口import com.opensymphony.xwork2.ActionInvocation;import com.opensymphony.xwork2.interceptor.Interceptor;...
2019-06-19 21:37:44 144
原创 struts2文件上传与下载
struts2框架中有封装文件上传的功能那么我们在html或者jsp中的 form 应该添加属性 entype=“multipart/form-data” 并且提交的方式 应该设置为 post提供 file 控件 提供name属性 <form action="hello.action" enctype="multipart/form-data" method="post"> ...
2019-06-19 21:37:35 176
原创 自定义类型转换
假设现在有这么一个场景,我们在页面中要输入对应的一个生日日期,格式有可能是 YYYY-MM-DD[默认支持此类型] 也有可能是YYYY/MM/DD[不支持]为了能让YYYY/MM/DD这种类型支持,像这种情况我们就需要提供自定义类型转换器类需要继承 StrutsTypeConverter SimpleDateFormat sdf = new SimpleDateFormat("YYYY...
2019-06-19 21:37:28 627
原创 请求参数数据封装
通常我们在servlet中去获取页面提交的数据,一般是通过request对象的getParameter方法,如果是一个注册页面,提交数据太多,我们获取请求的参数也太多,不便于操作,在struts2中 有提供对应的操作方式1:Action中声明对应的name属性,提供set方法在Action类中声明对应提交的参数名例:<input type='text' name='uname'/>...
2019-06-19 21:37:21 486
原创 Struts2三种共享数据的方式
在web项目中都是使用域对象来共享数据在struts2中有三种方法实现数据共享使用request,session,servletContext域对象共享 //获取request HttpServletRequest request = ServletActionContext.getRequest(); //获取session ...
2019-06-19 21:37:15 688
原创 Action属性注入
假设现在我们模拟文件上传操作,那么我们在Action类中代码可能是这样 public String execute() throws Exception { //获取文件 File file = new File("d://a.txt"); //struts提供文件复制工具类 把文件保存在服务器端 FileUtils.cop...
2019-06-19 21:37:07 324
原创 struts2全局视图配置
struts2全局视图配置全局视图作用:当该包下的所有的action都使用到的一些视图可以放到全局中进行配置注意:当action配置中也有相同名称视图,那么action局部视图会覆盖全局视图<global-results> <result name="success">/success.jsp</result> &l...
2019-06-19 21:36:59 338
原创 struts2常量配置
struts2的常量就是用于struts2的程序中使用的一些常量参数访问struts时,为什么是action结尾,将web.xml中的配置改成 *.do行不行?我们可以尝试下,结果发现是不可行的,原因在于 struts有常量配置,只能使用action或者不加action那么我们如何修改此文件在struts.xml中可以修改默认配置文件 在 struts-core核心包中 default....
2019-06-19 21:36:51 186
原创 路径通配符
一个模块(Action对象)使用一个Action配置例如:用户模块分为 用户登录 用户注册 用户信息修改,那么我们不可能每一个都去配置一个Action,后续不太好维护,代码量也比较多,其实都是一个Action类只是不同方法而已我们可以在action配置中使用*表示,它是表示路径的通配符,使用通配符内容:{1},表示获取第一个通配符的实际内容 好处:大大减少了action配置例如: &l...
2019-06-19 21:36:42 1302
原创 struts2相关配置
struts2相关配置1.Action三种使用方式2.路径通配符3.常量配置4.全局视图配置5.Action属性注入struts2 核心业务功能1.struts数据共享三种方式2.请求参数数据的封装3.自定义类型转换4.文件上传与下载5.struts2拦截器6.值栈7.数据校验8.json使用...
2019-06-18 22:47:22 161
原创 struts.xml配置详解
在上一个文章中,我们了解到Struts如何使用,以及相应一个默认配置文件详解接下来我们看看自己写的struts.xml文件那么该文件是开发者自行配置的业务文件[关键是Action的配置]1.包(package) 用于管理Action 一般开发模式中我们按模块划分包 package:代表一个包,管理Action配置,在同一个包下不能有同名的Action name:包名,在一...
2019-06-18 21:55:33 1695
原创 Struts使用入门使用
Struts使用入门Struts简介Struts简介![在这里插入图片描述](https://img-blog.csdnimg.cn/20190617161540519.pngStruts 官网地址 :https://struts.apache.org/那么我们知道Strtus只一个web框架,用它可以来替换我们之前所用过的servlet技术,既然使用它,我们先来看下它执行的过程...
2019-06-17 23:33:28 692 1
原创 批量修改指定文件夹下所有的文件名称
/** * 批量修改指定文件夹下所有的文件名称 * @param filePath 文件夹路径 类似于 d:\\a\\b * @param replaceSource 想被替换的文件名称的某一段或者整个文件名称 * @param replaceTarget 被替换后的名字 */ public static void changeFileName(S...
2018-12-24 10:19:02 1435 1
转载 restful常用四种请求方式
GET[select] 请求会向数据库发索取数据的请求,从而来获取信息,其只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容。无论进行多少次操作,结果都是一样的。PUT[update] 请求是向服务器端发送数据的,从而改变信息,其用来修改数据的内容,但是不会增加数据的种类等,无论进行多少次PUT操作,其结果并没有不同。POST[insert]请求同PUT请求类似,都是向服务器...
2018-12-13 15:34:11 5368
原创 centos下安装mysql
首先我们通过工具把 mysql的安装包上传到centos系统中使用 命令将tar包 解压tar -xvf MySQL-5.6.16-1.linux_glibc2.5.i386.rpm-bundle.tar接下来通过rpm命令来安装mysql服务rpm -ivh MySQL-server-5.6.16-1.linux_glibc2.5.i386.rpm &> /...
2018-12-07 14:46:47 105
原创 centos下安装jdk与tomcat
首先,我们通过ftp软件把 jdk的安装包和tomcat安装包传送到centos系统中centos下有可能没有安装vsftpd的服务,我们通过命令来安装yum -y install vsftpd然后等待安装完毕接着我们使用进行文件的上传输入好IP,用户名密码以及端口(注意:端口是连接linux的ssh端口,不要写21)选择好本地的文件,添加到列队中,然后 在列表中 鼠标...
2018-12-06 15:21:30 249
原创 linux常用命令操作
用户管理 添加用户 useradd sxt 设置密码 passwd sxt [只有root才有权限使用] 删除用户 userdel sxt [前面加参数 -r 可以同时删除home下的目录]切换用户 su 修改用户属性usermod -l b a 将a的登陆名改为busermod -d /home/cssxt ...
2018-12-06 14:58:30 113
原创 SpringBoot的demo
作为开发人员,那么原始的整合spring+springMVC+myBatis是比较痛苦的,xml文件配置过多。很多bean需要配置,经常出错那么现在通过springBoot这个框架基本可以做到无配置文件来启动我们的springMVC+spring+myBatis框架的系统(博主在这边文章中没有导入mybatis的使用,使用springBoot+spirngMVC+spring的使用)首...
2018-12-06 13:56:50 224 1
原创 centos文件系统操作
linux系统与windows操作区别还是很大的。我们先来看下文件系统这一块,在windows系统中,我们存放的文件都是存在在磁盘中的文件夹。那么在linux系统中没有磁盘的这中概念。那么linux中 是以目录的形式来区分。我们先来熟悉 两个命令 ls 和 ll 这两个命令是用来查看 当前路径下的 文件和文件夹(目录)的输入 ll (注意:默认显示当前目录下所有文件以及文...
2018-12-04 18:05:45 2134
原创 centos网络操作
对于任何系统来说,网络配置不可少。我们使用linux系统 一般作为服务器使用,肯定是要让别人能够访问到,那么别人来访问,肯定是要配置我们的网络信息比如我们的ip地址或者防火墙的配置等等...首先我们来配置网络这块进入到centos系统我们可以使用ifconfig命令查看当前的网络ip地址那么我们通过命令查看,可以看到ip地址是 192.168.249.136,那么这个地址怎...
2018-12-04 13:48:31 501
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人