由小编的上篇博文可以一窥基于AspectJ注解配置的AOP编程实现. 本文一下未贴出的相关代码示例请关注小编的上篇博文<Spring学习之旅(七)基于XML配置与基于AspectJ注解配置的AOP编程比较>,在此不再赘述. 基于AspectJ注解配置的AOP编程,就是将所有配置信息都放在源代码中以注解的方式标注.以与“基于XML配置”的AOP编程相区别. 1)Spring AOP注解就是依赖AspectJ来实现.因此使用Spring AOP注解,必须引入Aspectj框架及相应的包(aspec…
上篇博文对Spring的工作原理做了个大概的介绍,想看的同学请出门左转.今天详细说几点. (一)Spring IoC容器及其实例化与使用 Spring IoC容器负责Bean的实例化.配置和组装工作有两个接口:BeanFactory和ApplicationContext.其中ApplicationContext继承于BeanFactory,对企业级应用开发提供了更多的支持.在实际应用中都是用该接口. 1)实例化Spring容器(主要有四种) 1.ClassPathXmlApplicationCo…
详细的废话相信很多书籍视频资料都已经很多了,这里说几个小编个人认为对于理解Spring框架很重要的点.欢迎批评指正. 1)Spring的控制反转 先说说“依赖”,在面向对象程序设计中,类A中用到了类B的实例对象或者类B的方法,叫做类A依赖于类B. 在传统的代码实现中,这种依赖关系通过程序代码直接实现.而在Spring中,把这个工作交给了IoC容器,对象的依赖关系由容器来控制,程序只负责接口(Interface)的控制. 这种控制权从代码到外部容器的转移,称为“控制反转(IoC—Inversion…
AOP(Aspect-Oriented  Programming,面向切面编程)是Spring提供的关键技术之一. AOP基于IoC,是对OOP(Object-Oriented Programming,面向对象编程)的有效补充. 利用一种“横切”的技术,剖解封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,并将其命名为Aspect(切面,也称方面). AOP的核心思想就是“将应用程序中的业务逻辑与对其提供支持的通用服务功能进行分离,而业务逻辑与通用服务功能之间通过配置信息,实现…
在之前的 Spring学习之旅(八)--SpringMVC请求参数 我们是通过在控制台输出来验证参数是否正确,但是这样做实在是太耗时间了,我们今天来学习下 MockMvc,它可以让我们不需要启动项目就能调用接口并验证接口返回结果是否符合我们的预期. 为何使用MockMvc? MockMvc 实现了对 Http 请求的模拟,能够直接使用网络的形式,实现 Controller 的调用,这样可以使得测试速度快.不依赖网络环境,而且提供了一套验证的工具,这样可以使得请求的验证统一而且很方便. 如何使用…
编译工具:eclipse. 简单说一下,Spring  AOP是干嘛的? 假设你创建了一群类:类A,类B,类C,类D.... 现在你想为每个类都增加一个新功能,那么该怎么办呢?是不是想到了为每个类增加相同的新代码.这未免也Boring了吧.不过不用担心,Spring AOP就是来帮组你脱离这种单调乏味无聊愚蠢的工作的. 例子:创建类A,执行类A的方法.添加类A方法执行前后的时间显示. 1)新建Java工程项目 假设工程名为:spring_aop_hello 2)导入AOP所需jar包 注意,其中…
一.JDBC编程特点 静态代码+动态变量=JDBC编程. 静态代码:比如所有的数据库连接池 都实现了DataSource接口,都实现了Connection接口. 动态变量:用户名.密码.连接的数据库.表名.SQL语句等信息. 在spring中动态变量能够通过注入的形式给予.这样的变成方式适合包装成模板.静态代码构成了模板,而动态变量是需要传入的参数. 二.核心类JdbcTemplate 1.基于模板的设置. 2.完成了资源的创建和释放的工作. 3.简化了我们的JDBC操作. 4.完成了对JDBC…
在使用 Spring 的过程中,有时候会出现一些 ClassNotFoundException 异常,这是因为 JAR 依赖之间的版本不匹配所导致的.而 Spring Boot 就能避免绝大多数依赖版本问题,我们先来了解下 Spring Boot 的特性. SpringBoot 特性 Spring Boot Starter: 它将常用的依赖分组进行了整合,将其合并到一个依赖中,这样就可以一次性添加到项目的 Maven 或 Gradle 构建中; 自动配置:Spring Boot 的自动配置特性利…
对于本职工作来说 JDBC 就可以很好的完成,但是当我们对持久化的需求变得更复杂时,如: 延迟加载 预先抓取 级联 JDBC 就不能满足了,我们需要使用 ORM框架 来实现这些需求. Spring 对多个持久化框架都提供了支持,包括 Hibemate.IBATIS.JPA 等.和 Spring 对 JDBC 的支持一样, Spring 对 ORM框架 的支持除了提供与框架的继承点之外还包括一些附加服务: 支持集成 Spring 声明式事务; 透明的异常处理: 现场安全的.轻量级的模板类: DAO…
对大多数 Java 开发来说,基于 web 的应用程序是我们主要的关注点. Spring 也提供了对于 web 的支持,基于 MVC 模式的 Spring MVC 能够帮助我们灵活和松耦合的完成 web 应用程序. Spring MVC 处理流程 第一步:发起请求到前端控制器(DispatcherServlet) 第二步:前端控制器请求HandlerMapping查找 Handler(可以根据xml配置.注解进行查找) 第三步:处理器映射器HandlerMapping向前端控制器返回Handle…