![](https://img-blog.csdnimg.cn/20200330112934209.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Spring
Spring
花开不合阳春暮
博客中只是一些之前学习的笔记,现在个人改在本地记录笔记,CSDN博客不在维护了!!!
展开
-
Spring 常用的设计模式
单例模式(Singleton)创建型模式,保证一个类仅有一个实例,并提供一个访问它的全局访问点。Spring 中的单例模式完成了后半句话,即提供了全局的访问点 BeanFactory。但没有从构造器级别去控制单例,这是因为 Spring 管理的是是任意的 Java 对象。 Spring 下默认的 Bean 均为单例。常用单例模式写法:饿汉式、懒汉式、注册式(枚举或Map)、序列化。懒汉式...原创 2020-04-02 16:07:02 · 325 阅读 · 0 评论 -
Spring 事务原理详解
什么是事务(Transaction)事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。特点:事务是恢复和并发控制的基本单元。事务应具备4个属性:原子性,一致性,隔离性,持久性。这四种属性通常称为ACID特性:原子性(atomicity):一个事务是一个不可分割的工作单位,事务中包括的操作要么都做,要么都不做一致性(consistency):...原创 2020-04-01 15:07:34 · 403 阅读 · 0 评论 -
Spring MVC 设计原理
MVC本质MVC的核心思想是业务数据抽取业务数据呈现相分离MVC,Model-View-ControllerView,视图层:为用户提供UI重点关注数据的呈现Model,模型层:业务数据的信息表示,关注支持业务的信息构成,通常是多个业务实体的组合Controller,控制层:调用业务逻辑产生合适的数据(Model)传递数据给视图层用于呈现区别于,三层机构,Dao数据访问层,Ser...原创 2020-04-01 10:36:12 · 280 阅读 · 1 评论 -
Spring AOP 源码分析
Spring中主要的AOP组件生成代理对象Spring提供了两种方式生成代理对象:JDKProxy和CGLib,具体使用哪种方式生成由AopProxyFactory根据AdvisedSupport对象的配置来决定。默认的策略是如果目标类是接口,则使用JDK动态代理技术,否则使用CGLib来生成代理。下面研究Spring如何使用JDK来生成代理对象,具体生成代码在JdkDynamicAopPr...原创 2020-03-31 21:27:20 · 132 阅读 · 0 评论 -
Spring AOP 设计原理
简介AOP是OOP的延续,是Aspect Oriented Programming的缩写,意思是面向切面编程。可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。AOP实际是GoF设计模式的延续,设计模式孜孜不倦追求的是调用者和被调用者之间的解耦,AOP可以说也是这种目标的一种实现。现在做的一些非业务,如:日志、事务、安全等都会写在业务代码中(也即是说...原创 2020-03-31 21:15:05 · 208 阅读 · 0 评论 -
Spring IOC 高级特性
介绍通过对 Spring IOC 容器的源码分析,已经基本上了解了 Spring IOC 容器对 Bean定义资源的定位、读入和解析过程,同时也清楚了当用户通过 getBean 方法向 IOC 容器获取被管理的Bean 时,IOC 容器对 Bean 进行的初始化和依赖注入过程,这些是 Spring IOC 容器的基本功能特性。Spring IOC 容器还有一些高级特性,如使用 lazy-init...原创 2020-03-31 18:18:34 · 208 阅读 · 0 评论 -
Spring IOC 依赖注入
依赖注入发生的时间当Spring IOC容器完成了Bean资源的定位,载入和解析注册之后,IOC容器中已经管理类Bean定义的相关数据,但是此时IOC容器还没有对所管理的Bean进行依赖注入,依赖注入发生在以下两种情况发生:用户第一次通过getBean方法向IOC容器要Bean时,IOC容器触发依赖注入当用户在Bean定义资源中为<Bean>元素配置了lazy-init属性,即...原创 2020-03-31 17:19:35 · 138 阅读 · 0 评论 -
Spring IOC 源码分析
Spring IOC体系结构BeanFactorySpring Bean 的创建是典型的工厂模式,这一系列的 Bean 工厂,即 IOC 容器为开发者管理对象间的依赖关系提供了很多便利和基础服务,在 Spring 中有许多的 IOC 的实现:其中 BeanFactory 作为最顶层的一个接口类,它定义了 IOC 容器的基本功能规范,BeanFactory 有三个子类:ListableBea...原创 2020-03-31 11:27:50 · 142 阅读 · 0 评论 -
Spring IOC Bean装配
Spring IOC 的应用Bean管理的注解实现类的自动检测与注册Bean<!--通过在基于xml的Spring排至如下标签(请注意包含上下文命名空间)--><context:annotation-config/>context:annotation-config,仅会查找在同一个applicationContext的bean注解,为了能够检测这些类并注册相应...原创 2020-03-30 17:46:11 · 234 阅读 · 0 评论 -
Spring 概述
框架维基百科:软件框架,通常指的是为了实现某个业界标准或完成特定基本任务的软件组件规范,也指为了实现某个软件组件规范时,提供规范所要求之基本功能的软件产品。框架就是制定一套规范或者规则,大家在该规范或者规则下工作。或者说就是使用别人搭好的舞台,你来做表演。框架的特点:半成品封装了特定的处理流程和控制逻辑成熟的,不断升级改进的软件框架与类库的区别:框架一般是封装了逻辑,高内聚的...原创 2020-03-30 15:04:05 · 455 阅读 · 0 评论 -
Spring标签context:component-scan的用法
Spring从Spring2.5开始支持注解注入,注解在省去了很多繁琐的XML配置的同时,也失去了灵活性。context:component-scan可以让我们要根据需要来选择是否启用注解注入。但是在配置过context:component-scan之后就不用配置context:annotation-config标签,因为前者已经包含后者。这个配置文件中必须声明xmlns:context 这个xml原创 2017-12-26 11:13:18 · 1517 阅读 · 0 评论 -
Spring MVC 重定向
1、重定向(redirect)@RequestMapping(value = "test",method = RequestMethod.GET) public String test(){ return "redirect:/list"; } @RequestMapping(value = "list", method = RequestMethod原创 2017-09-06 10:52:33 · 287 阅读 · 0 评论 -
2017/2/23 Java SpringAOP拦截Service实现日志管理(自定义注解)
创建一个切点类:import org.aspectj.lang.JoinPoint;import org.aspectj.lang.annotation.After;import org.aspectj.lang.annotation.Aspect;import org.aspectj.lang.annotation.Pointcut;import org.aspectj.lang原创 2017-02-24 09:37:31 · 371 阅读 · 0 评论 -
Spring3.0新特性
1.基础Spring3.0对jar包进行了改变。public class User {private String username;private String password;public String getUsername() {return username;}public void setUsername(String username) {this.use原创 2017-02-04 10:46:25 · 375 阅读 · 0 评论 -
Spring2.5(2)
AOP中的概念Aspect(切面):指横切性关注点的抽象即为切面,它与类相似,只是两者的关注点不一样,类是对物体特征的抽象,而切面横切性关注点的抽象.joinpoint(连接点):所谓连接点是指那些被拦截到的点。在spring中,这些点指的是方法,因为spring只支持方法类型的连接点,实际上joinpoint还可以是field或类构造器)Pointcut(切入点):所谓切入点是指我们原创 2017-02-04 10:46:22 · 213 阅读 · 0 评论 -
Spring2.5(1)
Spring是什么?Spring是开源的控制反转(IOC)和面向切面(AOP)的容器框架,它的主要目的是简化企业开发。IOC 控制反转public class personServiceBean{private PersonDao personDao = new PersonDaoBean();public void save(Person person){personDao.s原创 2017-02-04 10:46:20 · 192 阅读 · 0 评论 -
SpringMVC拦截器深入
10 拦截器10.1 拦截定义定义拦截器,实现HandlerInterceptor接口。接口中提供三个方法。public class HandlerInterceptor1 implements HandlerInterceptor{//进入 Handler方法之前执行//用于身份认证、身份授权//比如身份认证,如果认证通过表示当前用户没有登陆,需要此方法拦截不再向下执行@Ov原创 2017-02-04 10:46:04 · 200 阅读 · 0 评论 -
SpringMVC拦截器简介
什么是拦截器??拦截器是指通过统一从浏览器发往服务器的请求来完成功能的增强使用场景:解决请求的共性问题(乱码问题,权限验证问题等)拦截器的工作原理SpringMVC可以通过配置过滤器来解决乱码问题jar包:web.xml: org.springframework.web.context.ContextLoaderListener原创 2017-02-04 10:45:28 · 308 阅读 · 0 评论 -
Spring AspectJ
AspectJ.@AspectJ的风格类似纯java注解的普通java类.Spring可以使用AspectJ来做切入点解析.AOP的运行时仍旧是纯的Spring AOP,对AspectJ的编译器或者织入无依赖性.对@AspectJ支持可以使用XML或java风格的配置@Configuration@EnableAspectJAutoProxypublic class Ap原创 2017-02-04 10:45:14 · 490 阅读 · 0 评论