自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

卡式优雅的博客

java的一些心得

  • 博客(19)
  • 收藏
  • 关注

原创 Spring源码分析之依赖注入

1、 依赖注入发生的时间当 Spring IOC 容器完成了 Bean 定义资源的定位、 载入和解析注册以后, IOC 容器中已经管理类 Bean 定义的相关数据, 但是此时 IOC 容器还没有对所管理的 Bean 进行依赖注入, 依赖注入在以下两种情况 发生: (1).用户第一次通过 getBean 方法向 IOC 容索要 Bean 时, IOC 容器触发依赖注入。 (2).当用户在...

2018-04-26 21:10:05 1173

原创 Spring源码分析之IOC容器的初始化

BeanFactorySpring Bean 的创建是典型的工厂模式, 这一系列的 Bean 工厂, 也即 IOC 容器为开发者管理对象 间的依赖关系提供了很多便利和基础服务, 在 Spring 中有许多的 IOC 容器的实现供用户选择和使用, 其相互关系如下: 其中 BeanFactory 作为最顶层的一个接口类, 它定义了 IOC 容器的基本功能规范, BeanFactory 有...

2018-04-25 16:06:00 385

原创 大话设计模式之代理模式(二)与JDK动态代理原理

什么是代理模式?在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。 在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。动态代理与静态代理对比 静态代理实现模式Father 是Son的代理人 Person接口public interface Person { void findLove();...

2018-03-16 10:55:10 221

原创 大话Java设计模式之工厂模式

具有代表性的设计模式:我们在使用设计模式时:切记先有业务场景,才有设计模式设计模式有六大原则:单一职责原则里氏替换原则依赖倒置原则接口隔离原则迪米特法则开闭原则设计模式的关系注意:源码中的 设计模式通常不是单一使用的设计模式在我的理解是前人栽树 后人乘凉 总结前人经验 提供设计模式给后人使用 设计模式提高代码可读性,可扩展性工厂模式有三种...

2018-03-15 15:46:56 226

原创 手写SpringMVC (一) 简要版,去除冗余复杂代码,手写Spring核心功能

github 地址 :https://github.com/yjy91913/jerry-mvcframework 只是闲来无事写的简化版,仅供大家理解SpringMvc的运作原理) 了解了springMVC的源码,写一个功能简单可以实现的springMVC,只是为了深入了解spring先看一下项目结构 demo是测试类第一步:pom文件加入依赖 -servlet&...

2018-03-07 15:07:04 1664 1

原创 使用SpringAOP切面实现对controller的拦截,并对url,参数和返回值记录

做这个功能之前 先讲一下AOP的环绕通知,因为这个功能我之前也想用springMVC的拦截器实现AOP的环绕通知、切面的优先级以及重用切入点定义一、环绕通知  环绕通知是所有通知类型中功能最为强大的, 能够全面地控制连接点. 甚至可以控制是否执行连接点.   对于环绕通知来说, 连接点的参数类型必须是 ProceedingJoinPoint . 它是 JoinPoint 的子接口, 允许控制何时执

2017-11-14 11:40:39 33253 3

原创 spring 03之JDBC模版与声明式事务

JDBC模版:和数据库交换(类似于DBUtils)★ spring是一个一栈式框架,提供了dao层支持 1.jdbc模版 2.orm模块入门案例:转账账户的添加整合dbcp步骤:   1.导入jar (2个jar包 dbcp+pool) 可以在依赖包找 org.apache.commons   2.配置dbcp数据源 BasicDataSource<bean id="dataSource"

2017-07-31 23:03:39 296

原创 spring 之AOP与其xml和注解方式(03)

aop:概念:预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续作用:利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。常用的场景:   日志记录    权限控制    事务控制    性能测试底层使用的动态代理常见的技术:jdk:前提必须有接口实现 Proxy.newProxyInsta

2017-07-30 10:06:55 222

原创 spring 之ioc注解,案例,整合单元测试(02)

(★)ioc注解方式步骤:导入jar包:核心4个+2个日志+aop 在类上添加注解   作用:让资源让spring来管理,相当于在xml配置一个bean@Component(value="名字") //<bean id="" class="">在基本和String类型属性上注入@Value("值")开启组件扫描(扫描spring下的这些注解)xml方式:applicationContext.

2017-07-28 23:24:42 288

原创 spring 之(IOC)入门(xml配置文件)(01)

IOCspring的核心之一 控制反转:就是将bean的创建权交给spring容器管理.解决高耦合性问题 底层:配置文件+反射+工厂模式入门案例:1.下载spring2.新建一个项目导入jar:核心jar包 spring解压目录下:core,beans,context,expression spring日志(spring的依赖包): org.apache.log4j org.apache

2017-07-28 00:12:36 425

原创 struts2 之注解开发(05)

注解开发: 前提: 额外导入支持注解的jar包:/lib/struts2-convention-plugin-2.3.24.jar 在action类上编写注解 @ParentPackage(value=”“) @Namespace(value=”“)扩展: @Results({@Result数组})//配置多个全局页面 @Result(name=”“,type=”“,locati

2017-07-27 23:43:02 256

原创 struts2 之执行原理|源码解析|拦截器|权限案例(04)

拦截器:struts的核心拦截器和过滤器区别只对action起作用. Filter:可以对所有的请求进行过滤. FilterChain:过滤器链 访问一个资源的时候有可能匹配到多个过滤器 在拦截器中有一个拦截器栈(访问一个action的时候匹配到的多个拦截器)拦截器的方法Interceptor:生命周期方法(接口) init() destroy() intercept(ActionInv

2017-07-27 22:47:26 278

原创 struts2 之ognl表达式与值栈(03)

ognl:概述是一种功能强大的表达式语言 struts2把它作为了默认的表达式语言(导入jar包)作用:(理解)可以调用对象的方法 可以访问类的静态属性 可以访问类的静态方法 ★获取值栈中的数据 例如调用对象的方法:<s:property value="'hello'.length()"/><br>访问类的静态属性:<!-- @全限定名@属性名称 --><s:property value

2017-07-24 23:20:41 315

原创 struts2之封装数据和访问Servlet的api(02)

访问servlet的api(★)方式1:通过ServletActionContext的静态方法访问 getRequest() getResponse() getServletContext()@Override public String execute() throws Exception { //1.获取request对象 HttpServletRe

2017-07-22 21:57:48 352

原创 Struts2 之配置文件编写,动作类(01)

学习路线:1.struts入门(配置文件编写,动作类的编写及其访问方式) 2.封装数据和访问Servlet的api 3.ognl和值栈 4.拦截器和注解开发struts2基本概念Struts2是一种基于MVC模式的轻量级Web框架. Struts2是Struts1的下一代产品,是在 Struts1和WebWork技术的基础上进行合并后的全新框架(WebWork是由OpenSymphony组织

2017-07-22 21:33:14 477

原创 hibernate之注解开发(04)

JPA概述全称是:Java Persistence API。是SUN公司推出的一套基于ORM的规范。hibernate框架中提供了JPA的实现。 JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。JPA的优势标准化 JPA 是 JCP 组织发布的 Java EE 标准之一,因此任何声称符合 JPA 标准的框架都遵循同样

2017-07-21 08:30:04 297

原创 hibernate之一对多|多对多案例|关联映射(03)

关系映射实体之间的关系:一对多:用户和订单 分类和商品 订单和订单项 客户和联系人 多对多:订单和商品 学生和课程 角色和用户 一对一:夫妻 居民和身份证号表关系设计:一对多: 在多表上添加一个外键字段. 多对多: 添加一张中间表,表中保留另外两张表的主键作为外键.就可以将多对多拆成两个一对多. 中间表都是多的一方 一对一: 解决方案: 1.两个实体合二为一 2.唯一外键对应(把一

2017-07-19 09:26:14 330

原创 hibernate之持久化类,主键生成策略,事务,缓存,查询api(02)

学习地图持久化类 主键生成策略 持久化对象的三种状态(★持久态) 一级缓存(快照机制) 事务 查询的api★★★持久化类:概述:javabean + 映射文件编写规范:必须是一个公共的具体的类(public class) 必须有一个无参构造器 字段私有,必须提供公共的访问字段的方法(get和set) 必须有一个oid属性和主键对应 字段尽量使用包装类修饰 类尽量不要使用final

2017-07-18 00:27:06 254

原创 hibernate之概述,入门案例(配置文件,api)(01)

hibernate学习笔记 - 01hibernate概述工作dao层orm(对象关系映射)框架 作用:可以自动生成sql,可以自动执行sql,让我们使用面向对象的思想操作数据库.hibernate学习路线1.概述,入门案例(配置文件,api) 2.持久化类,主键生成策略,事务,一级缓存,查询的api 3.关联映射(多表) 4.注解开发学习方法:案例驱动步骤:1.创建数据库和表create

2017-07-17 21:25:09 296

空空如也

空空如也

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

TA关注的人

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