多XML模式
xml要多xml格式好一点方便识别
工厂模式:
可以隐藏对象创建,好处就是我们可以先实现对象前和实现对象后可以做手脚。
为什么要隐藏类的创建过程?
可以随意变更实现类
生产对象的过程中我们可以添加东西进去:
服务 为准备一些初始数据 ioc :
可以为我们添加一些依赖数据
可以提前调用方法进行初始化
解决 一些重复代码 aop :
例如:日志
方法调用前 打印日志
逻辑代码
方法调用后 打印日志
方法遇到异常 打印日志
他会使用一种动态代理的技术:
例如创建对象他会在内存中创建一个一样的对象继承与你的对象
例如你要调用里面的方法是他就可以做手脚,可以在调用对象时,写入一些重复执行的代码。
重复代码 例如你每次创建对象前要执行的 对象创建后要执行的 大大的减少了开发的复杂行
解决了代码重复的问题
动态类和普通的类是一样的,只不过一种是以文本的形式呈现,而另一种是在内存中呈现的。
先调用动态类中的执行前要调用的重复代码,在通过继承关系调用逻辑代码,再在创建完对象后调用动态类中的对象创建完成后所需要的重复代码
动态继承与实体:
所以是子类,所以先调子类他中的重复代码 再调用父类中的逻辑代码。
Spring环境配置:
1.创建Maven工程
2.引入spring-context 包 spring环境包
3.创建一个xml文件,applicationContext.xml
4.检查spring的环境是否成功
ApplicationContext applicationContext =
new ClassPathXmlApplicationContext("applicationContext.xml");
ApplicationContext applicationContext=
new ClassPathXmlApplicationContext("applicationContext.xml");
//ApplicationContext有个好处会将applicationContext.xml中的类提前加载起来,在你创建对象之前加载起来
Spring中的bean标记:理念应该是 bean看做成是一个个对象 ,一个项目是由一个个对象组建成的。
使用ApplicationContext 工程模式来创建对象:
第一步创建你要管理的对象:
第二步创建Spring管理对象
第三步用工程模式来创建对象,通过名字根据配置的路径来找到对象,也可以通过对象识别来创建对象
对象复用小小说明:好处修改直接修改XML不用动源码,因为源码需要编译
他会根据你的属性名称,找到对应的set方法将值通过values塞入进去
setjdbcUrl(String"里面是传入values的值 ")
property 属性:
bean标记:描述就是对象创建配置
id 名称 (全局唯一)
name 名称(局部唯一)
class(指的是类的全名(包的地址加类名))
scope 对象维护方式 singleton 默认 单例模式(ApplicationContext对象中,对象只会创建一次,你就是创建N次他也是同一个对象),prototype 每次都创建新对象
嵌套:数组嵌套<array> 标记中嵌套赋值
name 属性名称
setName(String name)
setPassWord(String passWord)
value 值:value="123"
先看方法的传值类型 然后把123进行转换:例如你这个方法参数设置是 int 他就会将 "" 中的值转换成int类型
基本数据类型都能进行通配(根据你方法中的传参类型来进行判断)
对象:引用另一个对象
bean
ref 应用spring环境中的对象(调用的spring中的xml中的对象)
构造器:
也可以传入依赖的对象
index 第几个参数 0 ~ N
value 值
type 单个参数类型说明 防止构造器重载识别
多XML存在找不见依赖对象的问题所以就需要引用
:想通过xml文件建立依赖关系就需要指定xml文件的路径及名称