SpringFramework IOC-xml简单笔记

1.2
<!--第三方依赖信息集合
      dependencies
        dependency
          [gav]
   -->
<!-- 声明一个变量,方便使用${jackson.version}
         技术名+version
    -->
<!-- 引入依赖作用域
           默认compile main test 打包和运行
           test junit@Test
           runtime main,test不用 打包运行用 mysql
           provided main,test用 打包运行不用 servlet HttpServlet
           锦上添花
      -->
maven-search
<!--gavp属性,不变-->
<!--构建过程-部署-修改-->

依赖传递 减少重复,自动管理,确保正确
依赖冲突 发生重复依赖终止依赖传递,避免重复依赖
依赖冲突解决原则:1、路径短 2、时间早  3、排除依赖<exclusions> 4、版本锁定 3、4常用
发生冲突,后续终止

错误:1、网络或服务器2、版本号,名字错误3、本地仓库缓存被污染或破坏(不访问镜像)删除lastUpdated文件

项目构建是指将源代码、依赖库和资源文件等转换成可执行或可部署的应用程序的过程,在这个过程中包括编译源代码、链接依赖库、打包和部署等多个步骤
工程本地部署:清理,编译,测试,报告,打包,部署 
主动触发场景:1、重新编译2、打包3、部署本地或上传私服
进入pom.xml 所在路径:mvn clean(target) compile test site(展示,不常用) package(打包) install(本地jar) deploy(私服war)
构建命令周期(有序的构建命令容器):触发周期后的命令自动触发同一周期前的命令,简化触发构建命令过程
周期包含:清理:clean + 构建:compile,test.package,insttall/deploy + 报告:site
触发:周期->命令->插件
war<build><plugins><plugin>

1.3
继承
同一项目不同模块依赖版本冲突 思路1:父工程引入依赖(导致引入不需要的包) 思路2:父工程只做依赖版本声明<dependcyManagement>,子gav不写版本
子工程若注明版本号,仍以子为准。依赖管理简化。<parent><gav>
聚合
父类周期自动触发子类周期。统一管理,优化顺序。父中<moudles><moudle>管理子,可以只继承不聚合,一般同时存在。构建管理简化。

二、
1.1
单体架构:一个项目,一个工程,导出为一个war包,在一个Tomcat上运行。也叫all in one。
表述层:Tomcat Servlet->Spring MVC->XxxController
业务逻辑层:javaSE->XxxService
持久化层:JDBC->Mybatics->XxxMapper
Spring 的IOC容器作用于三层,业务逻辑层作用大。 
三个框架总体简化三层业务开发与整体逻辑开发。
分布式结构:一个项目(对应 IDEA 中的一个 project),拆分成很多个模块,每个模块是一个 IDEA 中的一个 module。每一个工程都是运行在自己的 Tomcat 上。模块之间可以互相调用。每一个模块内部可以看成是一个单一架构的应用。
主要框架 SpringBoot(SSM),SpringCloud:统一管理、调用,中间件:第三方程序,数据缓存传递。
框架=jar包+配置文件

1.2
Spring:多个子框架组成,泛指以 Spring Framework 为基础的 Spring 技术栈。
Spring Framework:狭义的 Spring 特指 Spring Framework,通常我们将它称为 Spring 框架。
Core Container 核心容器
AOP&Aspects 简化面向切面编程(对象完善)
TX 声明式事务管理
Spring MVC 提供了面向Web应用程序的集成功能,控制层简化前端参数接受与相应。

1.3核心容器
组件:,可以复用的java对象。 项目由各种组件搭建而成。组件一定是对象,对象不一定是组件。
期待创建、保存、组装、管理事务、整合框架。
组件管理动作:实例、赋值、引用、存活周期管理。
配置文件:xml、注解、java类。
Spring 充当一个组件容器,创建、管理、存储组件,减少了我们的编码压力,让我们更加专注进行业务编写!
好处:降低组件之间耦合性(注:java创建实例与对象有较强关系);提高代码可重用性和可维护性;享受Spring框架其他功能

IOC容器(核心容器别名)实现
Spring管理组件的容器,就是一个复杂容器,不仅存储组件,也可以管理组件之间依赖关系,并且创建和销毁组件等!
作用 实例化、配置和组装组件,组件管理,维护组件之间关系。
实现 配置文件+容器类

容器接口:BeanFactory 基本动作 ApplicationContext(BeanFactory子接口)扩展动作
ApplicationContext 容器实现类 常用:ClassPathXmlAC类路径 FileSystemXml文件系统路径 AnnotionConfig java配置类 Web
主推配置类,xml淘汰,注解+java配置类

IOC容器内:
IoC(Inversion of control)控制反转 对象的控制权(创建和调用)由应用程序转移到IOC容器中,用到反射。
DI(Dependency Injection)依赖注入 对象之间维护关系(构造函数,set,接口注入)

配置文件
1、编写配置信息,组件类信息,组件之间引用关系 2、实例化IOC容器对象,指定配置信息IOC,DI 3,在java代码中获取组件,使用组件

实例化:构造函数 无参,有参(ioc+di) 工厂模式 静态,非静态。不同实例化方式对象和组件,ioc配置方式不同
无参构造函数 id:组件标识  class:组件的类的权限定符
静态工厂类 id:组件标识 class:工厂类的全限定符 factory-method:静态工厂方法
配置工厂类 两步 <id class> <id factory-bean factory-method>必须非静态
 

笔记于听尚硅谷网课中记下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值