0%

概念

  • Spring 是一个轻量级的控制反转( IoC )和面向切面( AOP )的容器框架。 Spring 使你能够编写更干净、更可管理、并且更易于测试的代码。
  • Spring MVC 是 Spring 的一个模块,一个 web 框架。通过 Dispatcher Servle , ModelAndView 和 View Resolver ,开发 web 应用变得很容易。主要针对的是网站应用程序或者服务开发—— URL 路由、 Session 、模板引擎、静态 Web 资源等等。
  • Spring 配置复杂,繁琐,所以推出了 Spring boot ,约定优于配置,简化了 Spring 的配置流程。
  • Spring Cloud 构建于 Spring Boot 之上,是一个关注全局的服务治理框架。

区别

阅读全文 »

1、问题

  • @Autowired 注解是如何实现自动装配的?
  • 当为类型为 A 的 Bean 装配类型为 B 的属性时,如果此时 Spring 容器中存在多个类型为 B 的 bean ,此时 Spring 是如何处理的?
  • 自动装配的模型是什么?有哪几种?和 Autowired 注解有什么关联?

2、示例

阅读全文 »

简介

  • BeanFactory:Spring Bean 容器的根接口
  • FactoryBean:各个对象的工厂接口,如果bean实现了这个接口,它将被用作对象的工厂,而不是直接作为bean实例。

1、BeanFactory

阅读全文 »

前言

  • 通常来说,如果问Spring内部如何解决循环依赖,一定是单默认的单例 Bean 中,属性互相引用的场景

  • 原型( Prototype )的场景是不支持循环依赖的,通常会走到 AbstractBeanFactory类中下面的判断,抛出异常

  • 构造器的循环依赖,就更不用说了,官方文档都摊牌了,你想让构造器注入支持循环依赖,是不存在的,不如把代码改了。

Spring解决循环依赖

阅读全文 »

Spring bean的作用域

Bean的作用域

什么是 spring bean?
    在 Spring 中,那些组成应用程序的主体及由 Spring IoC 容器所管理的对象,被称之为 bean 。简单地讲,bean 就是由 IoC 容器初始化、装配及管理的对象
阅读全文 »

什么是 AOP

  • AOP是一种编程范式,通过添加切面点,在不改动已有核心逻辑代码的前提下,添加功能或更改代码流程。

AOP用来做什么?

阅读全文 »

什么是 IoC

  • 控制反转,是一种思想,不是一种实现。Java 领域中描述的是对象的创建和管理的问题。
  • 传统开发,A 中要使用 B 的对象,需要在 A 中 new 出 B 的对象
  • IoC 思想实现:不通过 new 关键字来创建对象,而是通过 IoC 容器( Spring 框架) 来帮助我们实例化对象。我们需要哪个对象,直接从 IoC 容器里面获取即可。
  • 控制 :指的是对象创建(实例化、管理)的权力
  • 反转 :控制权交给外部环境(Spring 框架、IoC 容器)
  • IoC 容器实际上就是个 Map(key,value),Map 中存放的是各种对象。

IoC 解决了什么问题

阅读全文 »

@Transactional 注解使用详解

@Transactional 的作用范围

  • 方法 :推荐将注解使用于方法上,不过需要注意的是:该注解只能应用到 public 方法上,否则不生效。
  • 类 :如果这个注解使用在类上的话,表明该注解对该类中所有的 public 方法都生效。
  • 接口 :不推荐在接口上使用。
阅读全文 »