spring-入门学习
亦心谷
这个作者很懒,什么都没留下…
展开
-
spring学习之spring简介
什么是spring一句话概括,spring是分层的java SE/EE 应用一站式的轻量级开源框架,以IOC(控制反转)和AOP(切面编程)为内核,提供了展现层Spring MVC、持久层Spring JDBC及业务层失误管理等一站式的企业级应用技术,此外还可以整合其他第三方开源框架和类库。简单来说,spring就是一个轻量级且支持扩展的开源框架。为什么使用spring在没有spring之前,开发企原创 2017-06-23 16:58:03 · 497 阅读 · 0 评论 -
Spring初探之Spring+Spring MVC+MyBatis整合
前言系统标准的三层架构包括:表现层、业务层、持久层。三层架构在我们的实际开发中使用的非常多,包含:1、表现层1)也就是我们常说的web 层。它负责接收客户端请求,向客户端响应结果,通常客户端使用http 协议请求web 层,web 需要接收 http 请求,完成 http 响应。2)表现层包括展示层和控制层:控制层负责接收请求,展示层负责结果的展示。3)表现层依赖业务层,接收到客户端请求...原创 2019-03-28 20:37:19 · 301 阅读 · 0 评论 -
Spring初探之动态代理
前言Spring AOP 主要是通过动态代理技术实现的,而动态代理技术的实现方式有两种:1)基于接口的 JDK 动态代理2)基于继承的 CGLib 动态代理两种代理的区别:JDK动态代理只能对实现了接口的类生成代理,而不能针对类 。CGLIB是针对类实现代理,主要是对指定的类生成一个子类,覆盖其中的方法 。因为是继承,所以该类或方法不能被声明成final ,final可以阻止继承和多...原创 2019-03-18 23:47:56 · 167 阅读 · 0 评论 -
Spring初探之事务理解
相关概念事务:事务值的是逻辑上的一组操作,组成这个事务的各个执行单元,要么一起执行成功,要么一起失败。事务的特性1.原子性:事务所包含的全部操作,要么一起成功,要么一起失败;2....原创 2019-03-12 23:38:17 · 181 阅读 · 0 评论 -
Spring初探之使用JdbcTemplate实现增删改查
前言Spring对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate之中。JdbcTemplate主要提供以下五类方法:execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句;update方法用于执行新增、修改、删除等语句;batchUpdate方法用于执行批处理相关语句;query方法及qu...原创 2019-03-21 08:44:52 · 753 阅读 · 0 评论 -
Spring初探之基于AspectJ实现AOP
前言AspectJ是一个java实现的AOP框架,它能够对java代码进行AOP编译(一般在编译期进行),让java代码具有AspectJ的AOP功能。AspectJ应用到java代码的过程称为织入,对于织入这个概念,可以简单理解为aspect(切面)应用到目标函数(类)的过程。对于这个过程,一般分为动态织入和静态织入,动态织入的方式是在运行时动态将要增强的代码织入到目标类中,这样往往是通过...原创 2019-03-19 22:35:49 · 225 阅读 · 0 评论 -
Spring初探之手写实现简单的beanFactory
手写简单的beanFactory主要分两步:1、定义bean对象,对应Spring中的< bean >标签;2、创建BeanFactory,根据 BeanFactory 来获取实例对象;bean定义对象:package com.lks.util;/** * Created by likaisong on 2019/3/3. */public class BeanDef...原创 2019-03-04 08:57:09 · 905 阅读 · 0 评论 -
Spring初探之AOP简单理解
AOP简介AOP意为面向切面编程,通过预编译方式和运行期间通过动态代理实现程序功能的统一维护的技术。利用AOP可以对业务逻辑的各个部分进行隔离,从而使业务逻辑各部分之间的耦合度降低,提高程序的可重用性。AOP与代理模式Spring中的AOP本质上也就是使用了动态代理模式,只不过在动态代理模式的实现上进行了封装,简化了动态代理模式的步骤。动态代理模式的实现步骤:1)声明接口:注册需要被监听...原创 2019-03-06 00:29:13 · 306 阅读 · 0 评论 -
Spring初探之手写依赖注入
要想实现依赖注入,首先我们需要在BeanDefined中定义属性的键值对: //存放属性键值对 private Map<String, String> propertyMap = new HashMap<>(16);在BeanFactory中返回实例化对象前,给对象赋值。实现setvalue方法:private void setValue(Object i...原创 2019-03-05 20:14:48 · 457 阅读 · 0 评论 -
Spring初探之BeanPostProcessor实现和手写BeanPostProcessor
BeanPostProcessor的主要作用在于我们可以在Spring 容器完成 Bean 的实例化、配置和其他的初始化前后添加一些自己的逻辑处理。我们就可以定义一个或者多个 BeanPostProcessor 接口的实现,然后注册到容器中。BeanPostProcessor实现其实这和代理模式的实现有些类似:1、监控接口定义所有需要被监听的行为2、接口实现谁来实现3、通知类次要业...原创 2019-03-04 23:46:42 · 448 阅读 · 0 评论 -
Spring初探之手动实现简单的动态工厂
Spring中实现动态工厂主要依赖< bean > 标签的factory-bean 和factory-method属性,我们要想实现动态工厂功能,就需要在自定义BeanDefined中添加这两个属性:public class BeanDefined { private String beanId; private String classPath; //...原创 2019-03-04 23:01:42 · 654 阅读 · 0 评论 -
spring学习之自动装配
上篇文章我们已经讲了IOC和DI的一些基本概念以及 配置bean的两种 方式,其中bean配置还有一些细节性的东西,还是需要我们花点时间找相关的文档去学习了解的,例如null值配置、特殊字符配置和p命名空间等等。接下来,我们开始讲一下bean的自动装配,都将用到前面的知识。还是先上代码吧: 一个人有名字有车有住址:public class Person { private Car car;原创 2017-07-26 08:33:19 · 292 阅读 · 0 评论 -
spring学习之IOC和DI
前面我们已经讲过了,通过spring提供的IOC容器,用户可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。那么什么是IOC?什么是IOCIOC全称是Inversion of Control,中文名称是反转控制。其核心思想就是反转资源获取的方向。传统的资源查找方式要求组件向容器发起请求查找资源,然后作为回应,容器返回资源。而应用了IOC之后,则是容器在组原创 2017-06-30 08:57:34 · 358 阅读 · 0 评论 -
spring mvc前端页面中文乱码问题解决思路
1、判断是否是前端页面的编码问题直接在浏览器中打开html,如果页面显示正常说明不是html页面的编码问题;否则的话在head部分加入<meta charset="utf-8">一般能解决html页乱码问题2、判断是不是Spring的编码问题在web.xml中加入filter,一般能解决问题<filter> <filter-name>ch...原创 2019-07-01 14:59:11 · 2326 阅读 · 1 评论