程序老炮
码龄10年
关注
提问 私信
  • 博客:208,264
    问答:3,013
    211,277
    总访问量
  • 70
    原创
  • 1,671,869
    排名
  • 28
    粉丝
  • 0
    铁粉

个人简介:当你看见 Hello World 的时候说明你快要成功了!

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:甘肃省
  • 加入CSDN时间: 2015-02-04
博客简介:

我是IT小菜鸟的博客

查看详细资料
个人成就
  • 获得129次点赞
  • 内容获得49次评论
  • 获得157次收藏
  • 代码片获得214次分享
创作历程
  • 1篇
    2022年
  • 18篇
    2020年
  • 10篇
    2018年
  • 48篇
    2017年
  • 12篇
    2016年
成就勋章
TA的专栏
  • servlet
    1篇
  • spring
    12篇
  • spring整合mybatis
    1篇
  • 事务管理
    2篇
  • 声明式事务管理
    2篇
  • AOP
    3篇
  • 面向切面编程
    1篇
  • 代理模式
    4篇
  • proxy
    3篇
  • 动态代理模式
    3篇
  • 静态代理模式
    1篇
  • 依赖注入
    3篇
  • DI
    3篇
  • lazy-init
    1篇
  • 延迟初始化
    1篇
  • 单例
    2篇
  • bean的作用范围
    1篇
  • bean的生命周期
    1篇
  • 耦合
    1篇
  • 解耦
    1篇
  • json-default
    1篇
  • 创建表空间
  • 创建用户
  • 授权 解锁 查询等
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

servlet使用监听器统计网站在线人数

创建监听器,主要用到session和request,所以,自定义监听器类要实现HttpSessionListener和ServletRequestListener接口:package com.lzxh.listener;import javax.servlet.ServletRequestEvent;import javax.servlet.ServletRequestListener;import javax.servlet.annotation.WebListener;import j.
原创
发布博客 2022.03.09 ·
936 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

spring整合mybatis详细教程,保姆式案例讲解

在学习完mybatis框架和spring框架之后,要做的一件事情就是框架整合,将mybatis的部分配置交由spring管理,简化mybatis的配置。在项目开始之前,需要将spring用到的jar包,mybatis的jar包以及整合两者需要的mybatis-spring-2.0.6.jar导入到项目中,同时也可以将lombok-1.18.16.jar导入项目,减少在实体类中写setter/getter及toString方法,节省开发时间。然后创建实体类,以操作User类为例:package
原创
发布博客 2020.12.22 ·
312 阅读 ·
2 点赞 ·
1 评论 ·
0 收藏

快马加鞭学习spring的声明式事务管理第二篇,注解配置spring声明式事务

使用注解配置spring声明式事务相比XML的配置方式更加简单,案例如下:在配置文件中只需要配置事务管理器和事务管理的注解驱动:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://
原创
发布博客 2020.12.22 ·
298 阅读 ·
3 点赞 ·
5 评论 ·
0 收藏

快马加鞭学习spring的声明式事务管理第一篇,xml配置spring声明式事务

事务管理是一个单一的工作单元,这个单元有一系列操作,这些操作要么全部执行,要么全部不执行。事务管理具有以下四个特性:原子性:事务应该当作一个单独单元的操作,这意味着整个序列操作要么是成功,要么是失败的。一致性:这表示数据库的引用完整性的一致性,表中唯一的主键等。隔离性:可能同时处理很多有相同的数据集的事务,每个事务应该与其他事务隔离,以防止数据损坏。持久性:一个事务一旦完成全部操作后,这个事务的结果必须是永久性的,不能因系统故障而从数据库中删除。spring中的事务管理案例如下:&
原创
发布博客 2020.12.15 ·
218 阅读 ·
1 点赞 ·
1 评论 ·
1 收藏

还不理解springAOP系列第三篇,带你学习spring的面向切面编程之环绕通知<aop:around/>

在第二篇中,我们已经学习了前置通知和后置通知等,本篇主要讲解环绕通知,环绕通知相对于前置和后置通知来说,有明显的优势。使用环绕通知,我们可以完成前置通知和后置通知所实现的相同功能,而且只需在一个方法中实现。因为整个通知逻辑实证一个方法内实现的,所以不需要使用多个方法。环绕通知在XML文件中的配置方法与其他类型通知没有太大差异,我们只需使用<aop:around>标签,同时,指定切点和通知方法的名字即可。如下:<?xml version="1.0" encoding="UTF-8"
原创
发布博客 2020.12.15 ·
585 阅读 ·
3 点赞 ·
0 评论 ·
5 收藏

动态代理模式的第二种方式:cglib动态代理

cglib是功能强大,性能高的开源项目,它可以在运行期扩展Java类与实现Java接口。cglib的底层需要依赖asm,asm是一个字节码处理的框架,它可以转换字节码文件,并生成新的类。cglib动态代理模式案例:导包:接口:package cglibProxy;//接口:相当于协议public interface GoodsService { int buy(double money);}实现类:package cglibProxy;//生产厂家publi
原创
发布博客 2020.12.15 ·
224 阅读 ·
2 点赞 ·
2 评论 ·
0 收藏

还不理解springAOP系列第二篇,带你学习spring的面向切面编程,通知和切点的表达式配置

此案例基于第一篇而写,初学者可先看第一篇熟悉springAOP,再看此篇。此篇文章只对spring配置文件做改进。AOP操作中,通常会将前置通知,后置通知,异常通知和最终通知结合使用,如下例: <!-- 配置AOP --> <aop:config> <!-- 配置切面 --> <aop:aspect id="trans" ref="jdbcTrans"> <
原创
发布博客 2020.12.11 ·
205 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

还不理解springAOP?来吧,带你学习spring的面向切面编程(第一篇)

首先AOP是指面向切面编程,是OOP(面向对象编程)的补充。那么什么是切面(Aspect)呢,就是切点(pointcut)和通知(advice)的结合使用,什么是通知?通知定义了切面要做什么,在什么时候做,而切点则定义了在什么地方做,将两者结合在一起就可以解释切面是在何时何地做什么功能。举一个例子,如果你要保存一个账户信息,但在执行保存操作之前还想打印一条日志,那控制日志打印和保存账户的信息就构成了一个切面。打印日志,在什么时候打印就是通知,而在什么地方执行保存操作就是切点,这两者构成了切面。spr
原创
发布博客 2020.12.08 ·
221 阅读 ·
2 点赞 ·
0 评论 ·
1 收藏

java动态代理模式-保姆式案例教程

动态代理模式不需要代理类与目标类实现相同接口或继承相同类。动态代理也叫JDK代理或者接口代理,是利用JDK的API,动态的在内存中构建代理对象。代理类所在的包是java.lang.reflect.Proxy,动态代理只需要使用Proxy类的newProxyInstance方法即可完成,该方法有三个类型的必须的参数:ClassLoader loader:目标对象的类加载器。Class<?>[] interfaces:目标对象实现的接口类型。InvocationHandler
原创
发布博客 2020.12.07 ·
143 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

没理由学不会的Java静态代理模式

学习代理模式之前一定要清楚一个点:什么是代理模式,即代理对象是目标对象的扩展,并且代理对象会调用目标对象。静态代理模式在使用时,必须定义接口或者父类,并且代理对象与目标对象必须一起实现相同的接口或者继承相同的父类。在这里,代理对象和目标对象不实现共同的接口也同样能够调用目标对象的方法,但是实现了相同的接口就能保证代理对象和目标对象有相同的约束,这样才符合代理的意义(就像买电脑,如果代理商和厂家达不成协议,代理商就无法替厂家代理)。下面以客户买电脑为例,实现静态代理模式:代理类和目标类都要实现
原创
发布博客 2020.12.06 ·
166 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

spring中context命名空间下的<context:annotation-config/>元素和<context:component-scan/>元素的用法和区别

在spring的学习中,必定会遇到两个标签的使用,一个是:<context:annotation-config/>一个是:<context:component-scan base-package="cn.com.lzxh"/>那么这两个标签有什么作用,很多初学者会感到困惑,今天在这里做一个详细的分析,<context:component-scan base-package="cn.com.lzxh"/>标签的作用是自动扫描,它会将base-pack
原创
发布博客 2020.12.04 ·
476 阅读 ·
2 点赞 ·
0 评论 ·
1 收藏

spring整合MySQL,基于spring-jdbc和spring-tx的jar包,使用spring-jdbc.jar包中的JdbcTemplate完成增删改查

在此之前我写了一篇spring整合MySQL的博客,是基于commons-dbutils的jar包的(链接在这里),今天,借助spring提供的如下jar包完成MySQL数据库操作:在这个案例中,我们使用spring提供的数据源:org.springframework.jdbc.datasource.DriverManagerDataSource,该数据源位于spring-jdbc包中:另外,spring提供了JdbcTemplate类,它为jdbc操作提供了模板方法,直接调用该类对象对应的
原创
发布博客 2020.12.01 ·
877 阅读 ·
1 点赞 ·
3 评论 ·
0 收藏

spring整合junit单元测试

结合上一篇博客的例子讲解:首先,导入jar包,如下:因为普通的单元测试,无法自动加载spring的IOC容器,因此需要加入由spring提供的spring-test jar包 <!--junit依赖--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId>
原创
发布博客 2020.11.29 ·
513 阅读 ·
1 点赞 ·
2 评论 ·
3 收藏

spring的注解配置,没有xml

通常,我们使用spring都是使用spring的xml配置文件配置,但是,spring也提供了注解配置的方式,具体配置方式如下:创建一个属性文件,用来存放数据库连接信息:driver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/testuser=rootpassword=root由于要使用注解配置,因此需要一个Java类作为IOC容器,我们将类名命名为SpringConfiguration,内容与xml配置方式相似,数据库操作
原创
发布博客 2020.11.29 ·
622 阅读 ·
2 点赞 ·
1 评论 ·
4 收藏

spring整合MySQL数据库(commons-dbutils)

spring入门中,必不可少的要连接数据库做增删改查操作,下面以commons-dbutils包为例,基于QueryRunner类完成简单的单表CRUD:首先创建项目后使用maven导包:<dependencies> <!--junit依赖--> <dependency> <groupId>junit</groupId> <artifactId>
原创
发布博客 2020.11.29 ·
815 阅读 ·
1 点赞 ·
1 评论 ·
2 收藏

spring中bean的lazy-init属性和default-lazy-init属性用法

对于bean的lazy-init属性,官网给出的解释以及例子如下所示:By default,ApplicationContextimplementations eagerly create and configure allsingletonbeans as part of the initialization process. Generally, this pre-instantiation is desirable, because errors in the configuration ...
原创
发布博客 2020.11.24 ·
1128 阅读 ·
1 点赞 ·
1 评论 ·
1 收藏

spring依赖注入(DI)的几种方式

在spring中,依赖注入有多种种方式,今天,我们学习一下最常用的几种方式用法,分别是:1.构造函数注入,官网例子如下图:总结:使用constructor-arg标签完成注入,type用于指定要注入数据的数据类型,与构造函数的参数类型相对应。index指定构造函数中参数的索引位置,从0开始。name指定构造函数中的参数名称。ref指定配置在spring的IOC核心容器中的bean。value提供基本数据类型和String类型的数据。举例:package
原创
发布博客 2020.11.23 ·
709 阅读 ·
1 点赞 ·
1 评论 ·
0 收藏

spring中bean的作用范围和生命周期

在使用spring时,我们必然要使用spring创建和管理bean对象,那么对于bean标签的作用范围我们如何调整呢?我们对bean的默认使用方法如上图所示,这样创建的bean是单例模式的,我们验证如下:5次循环,最终打印的结果都是同一个对象,但是spring对bean标签提供了一个scope属性,该属性可以调整bean的作用范围,它的取值如下: scope:常用的是singleton和prototype singleton: 单例的(默认值)
原创
发布博客 2020.11.22 ·
332 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

java降低程序间耦合(解耦)

程序间耦合是指程序之间的依赖关系。我们开发的程序如果耦合度太高就会导致独立性太差,所以软件开发应该遵循高内聚,低耦合的设计标准。依赖一般分为类之间的依赖和方法之间的依赖。那么如何降低程序间的依赖呢?在开发中,应该做到程序在编译的时候不依赖,在运行的时候才依赖,我们可以通过两个步骤来分析实现,第一:使用反射来创建对象,避免使用new关键字创建;第二:通过配置文件来获取要创建对象的全限定类名。通过以上两步即可做到完美解耦。案例:我们做一个模拟保存用户的例子,在有解耦意识之前,我们的代码是这样的:p
原创
发布博客 2020.11.20 ·
1421 阅读 ·
3 点赞 ·
5 评论 ·
10 收藏

java高级程序设计实战教案

发布资源 2020.11.03 ·
docx
加载更多