Spring
Spring
杨林伟
像火箭科学家一样思考!
展开
-
66Spring - 源码解析Spring的启动机制(contextConfigLocation)
引出问题? 为什么在web.xml里面配置Spring,里面的context参数一定是contextConfigLocation,如下图: 分析流程 tomcat启动时,里面有配置监听程序的声明周期的监听器,如上图(ContextLoaderListner类)。 点击进入ContextLoaderListener类,如下图: 可以看出,ContextLoaderListner实现了Servle...原创 2019-04-12 18:28:48 · 439 阅读 · 0 评论 -
13Spring - Spring转账Demo(了解事务及AOP)
Spring的转账案例 1)代码准备 1)创建业务层 public interface AccountService { public void transfer(String from, String to, Double money); } -----------------------------------------------------------------------...原创 2019-04-03 10:22:19 · 509 阅读 · 0 评论 -
12Spring - Spring的数据库连接池管理
Spring的数据库连接池管理 配置Spring的内置连接池 1)配置文件 <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driv...原创 2019-04-03 09:42:38 · 417 阅读 · 0 评论 -
11Spring - 基于AspectJ的AOP开发(注解的方式)
Spring 使用 AspectJ 进行 AOP 的开发 1)引入相关的jar包 spring 的传统 AOP 的开发的包: spring-aop-4.2.4.RELEASE.jar com.springsource.org.aopalliance-1.0.0.jar aspectJ 的开发包: com.springsource.org.aspectj.weaver-1.6.8.RELEA...原创 2019-04-02 20:38:28 · 396 阅读 · 0 评论 -
10Spring - 基于AspectJ的AOP开发 (XML的方式)
基于AspectJ的AOP开发 AOP开发中的相关术语 JoinPoint(连接点): 所谓的连接点是指那些被拦截到的点。在Spring中,这些带你指的是方法,因为Spring只支持方法类型的连接点。 Pointcut(切入点): 所谓切入点是指我们要对Joinpoint进行拦截的定义 Advice(通知/增强): 所谓通知是指拦截到Joinpoint之后所要做的事情就是通知,通知分为前置通知、...原创 2019-04-02 19:35:35 · 419 阅读 · 0 评论 -
09Spring - AOP底层实现
AOP的底层实现 Spring的AOP的底层用到了两种代理机制: JDK动态代理: 针对实现了接口的类产生代理 Cglib动态代理: 针对没有实现接口的类产生的代理,应用的是底层的字节码增强技术,生成当前类的子类对象 JDK动态代理增强一个类中的方法 public class MyJDKProxy implements InvocationHandler{ private User...原创 2019-04-02 17:55:45 · 278 阅读 · 0 评论 -
08Spring - 面向切面编程(AOP)简介
面向切面编程(AOP) AOP概述 1)AOP的全称 AOP的全称是Aspect-Oriented Programming,即面向切面编程(也称面向方面编程)。 2)AOP的产生原因由来 如果要实现某个功能(如日志记录),代码会分散到各个方法中。这样,如果想要关闭某个功能,或者对其进行修改,就必须要修改所有的相关方法。这不但增加了开发人员的工作量,因此AOP思想随之产生。 AOP采取横向抽取机制...原创 2019-04-02 17:52:02 · 337 阅读 · 0 评论 -
07Spring - Spring依赖注入(基于注解Annotation)
Spring依赖注入(基于注解Annotation) 在Spring中,尽管使用XML配置文件可以实现Bean的装配工作,但如果应用中有很多Bean时,会导致 XML 配置文件过于臃肿,给后续的维护和升级工作带来一定的困难。为此,Spring提供了对Annotation(注解) 技术的全面支持。 常用的注解 1)作用在类上(@Component组件) Spring中提供@Component的三个衍...原创 2019-04-02 16:59:22 · 370 阅读 · 0 评论 -
06Spring - Spring依赖注入(基于XML)
Spring依赖注入 依赖注入的概念 它是Spring框架核心IOC的具体实现方式。简单的说,就是坐等框架把对象传入,而不用我们自己去获取。 1)构造函数注入(constructor-arg标签) 通过配置的方式,给构造函数的成员变量赋值。 代码: public class CustomerServiceImpl implements ICustomerService{ private ...原创 2019-04-02 14:24:10 · 360 阅读 · 0 评论 -
05Spring - IOC中bean标签和管理对象细节
IOC中bean标签和管理对象细节 bean标签 作用: 用于配置对象让Spring来创建 默认情况下它调用的是类中的无参构造函数,如果没有无参构造函数则不能创建成功 属性: id: 给对象在容器中提供一个唯一标识,用于获取对象。 class:指定类的全限定类名,用于反射创建对象,默认情况下调用无参构造函数 init-method:指定类中的初始化方法名称 destory-method:指定...原创 2019-04-02 11:45:03 · 454 阅读 · 0 评论 -
04Spring - Spring工厂的类图结构(ApplicationContext)
Spring中工厂的类图结构 BeanFactory 和 ApplicationContext的区别 BeanFactory 才是Spring 容器中的底层接口,ApplicationContext是它的子接口。 ApplicationContext只要一读取配置文件,默认情况下就会创建对象。BeanFactory是么时候使用就什么时候创建对象。 ApplicationContext接口实现...原创 2019-04-02 11:26:24 · 1111 阅读 · 0 评论 -
03Spring - 控制反转IOC入门案例
控制反转IOC入门案例 1下载并创建类 1)准备Spring开发包 2)创建业务接口和实现类 /** * 客户的业务接口 */ public interface ICustomerService{ /** * 保存客户 */ void saveCustomer(); } /** * 客户业务层实现代码 */ public class Custmoer...原创 2019-04-02 11:08:35 · 374 阅读 · 0 评论 -
02Spring - 控制反转IOC
控制反转-Inversion Of Control 什么是程序间的耦合? 类之间产生依赖关系,可以称之为 “耦合”。 解决耦合的思路 1)使用配置文件配置 如通过反射的方式来注册驱动: 上面有个问题,就是我们发射类对象的全限定类名字字符串是在java类中写死的,一旦要改还是要修改源代码。解决这个问题很简单,就是使用 使用配置文件配置。 2)工厂模式解耦 在实际开发中,可以把所有的dao、ser...原创 2019-04-02 10:26:48 · 325 阅读 · 0 评论 -
01Spring - Spring简介
Spring简介 什么是Spring Spring是分层的JavaSE/EE应用 full-stack 轻量级开源框架,以IOC(Inverse Of Control:反转控制)和AOP(Aspect Oriented Programming:面向切面编程)为内核,提供了展现层 SpringMVC 和 持久层 Spring JDBC 以及 业务层事务管理 等众多企业级应用技术,还能整合开原世界众...原创 2019-04-02 10:02:16 · 408 阅读 · 0 评论