一.简介 概念:控制反转是一种通过描述(在 Java 中可以是 XML 或者注解)并通过第三方(Spring)去产生或获取特定对象的方式.(被动创建) 优势: ① 降低对象之间的耦合 ② 我们不需要理解一个类的具体实现,只需要知道它有什么用就好了(直接向 IoC 容器拿) 小结:主动创建的模式中,责任归于开发者,而在被动的模式下,责任归于 IoC 容器,基于这样的被动形式,我们就说对象被控制反转了.(也可以说是反转了控制) 二.IOC容器 Spring 会提供IoC 容器来管理和容纳我们所开发的…
文章更新时间:2020/04/06 一.一个例子 在上面的例子中,包租婆的核心业务就是签合同,收房租,那么这就够了,灰色框起来的部分都是重复且边缘的事,交给中介商就好了,这就是 AOP 的一个思想:让关注点代码与业务代码分离! 例子解析: 1.在 Package[service]下新建一个[LandlordService]类(核心业务) /** * 包租婆关心的业务~(模拟核心业务) */ @Component("landlord") public class LandlordServ…
项目中用到了spring的事务: @Transactional(rollbackFor = Exception.class, transactionManager = "zebraTransactionManager0") @Override public int acceptAppeal(AppealDetourDataDto dataDto) { ; AppealDetourDO appealDetourDO = this.buildAppealDetourDo(dataDto);…
Spring Boot的每个模块包详解,具体如下: 1.spring-boot-starter 这是Spring Boot的核心启动器,包含了自动配置.日志和YAML. 2.spring-boot-starter-actuator 帮助监控和管理应用. 3.spring-boot-starter-amqp 通过spring-rabbit来支持AMQP协议(Advanced Message Queuing Protocol). 4.spring-boot-starter-aop 支持面向方面的编程…
原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 第十二章-与Spring集成(一)配置文件详解 1.pom.xml junit common-logging common-collections shiro-core shiro-web shiro-ehcache shiro-quartz shiro-spring spring-context spring-aop spring-jdbc spring-web…
Spring Boot源码中模块详解 一.源码 spring boot2.1版本源码地址:https://github.com/spring-projects/spring-boot/tree/2.1.x 二.模块 Spring Boot 包含许多模块,以下是一些简单的概述: 1,spring-boot 为Spring Boot其他部分功能提供主要的lib包,其中包含:(1)SpringApplication类提供了静态便利的方法使编写独立的SpringApplication更加容易.它唯一的任…
idea spring+springmvc+mybatis环境配置整合详解 1.配置整合前所需准备的环境: 1.1:jdk1.8 1.2:idea2017.1.5 1.3:Maven 3.5.2 2.查看idea中是否安装Maven插件: 2.1:File --> Settings --> Plugins 2.2:如下图所示的步骤进行操作(注:安装完插件,idea会重新启动) 3. 3.idea创建Maven项目的步骤 4.搭建目录结构 下图就是我搭建Maven项目之后,添加对应的目录和文件…
spring boot 配置文件properties和YAML详解 properties中配置信息并获取值. 1:在application.properties配置文件中添加: 根据提示创建直接创建. 怎么在程序中引用这个值呢? 浏览器访问: 我们可以看到输出的值. 说明: Application属性配置文件的优先顺序 2:端口修改 在application.properties中直接使用: server.port=8888 保存后,spring boot会自动帮我们重启. 我们可以看到重启后的…
Spring全家桶--SpringBoot之AOP详解 面向方面编程(AOP)通过提供另一种思考程序结构的方式来补充面向对象编程(OOP). OOP中模块化的关键单元是类,而在AOP中,模块化单元是方面. 准备工作 首先,使用AOP要在build.gradle中加入依赖 //引入AOP依赖 compile "org.springframework.boot:spring-boot-starter-aop:${springBootVersion}" 然后在application.yml中…
Spring源码之九finishRefresh详解 公众号搜索[程序员田同学],专职程序员兼业余写手,生活不止于写代码 Spring IoC 的核心内容要收尾了,本文将对最后一个方法 finishRefresh 进行介绍,位于refresh 方法中的第九个位置. 本章实际是对发布订阅模式的一种补充,这是Spring在刷新事件完成后发布事件. 由于存在上下文关系,本文也会对 initApplicationEventMulticaster 方法.registerListeners 方法进行回顾. 我…