
Spring
chengLin_xin
这个作者很懒,什么都没留下…
展开
-
关于使用IOC和DI时,自己额外单独new一个对象,但其使用DI赋值的属性为空的解析(个人感觉)
根据上图地址值可以看出,IOC创建的放在核心容器中的单例对象a,但和我新new出来的在核心容器之外的对象b并不是同一个。我每次使用Autowired注解注入的属性,其实都是向核心容器里面的那个对象注入的。我accountController 对象中的accountService属性,注入的时候我只能放到核心容器里面的a对象中,b对象无法获取这个属性的赋值。相当于镜子里面的东西只能在镜子里面是用,而无法把镜子里面的东西放到现实中。(平行空间)两个平行空间,一个空间里面的我被人给了一大笔钱,可实际上现实空原创 2020-06-20 15:59:57 · 216 阅读 · 0 评论 -
Spring中各功能需要的约束空间和依赖
IOC:控制反转 用来创建对象 并存入核心容器DI:依赖注入 将核心容器里面的东西赋值给变量AOP:面向切面编程 使用切面中的通知去增强切入点的功能 整个Spring需要的依赖(spring环境):spring-context 依赖以及beans约束 使用IOC注解时需要引入context约束,主要用来读取包 使用AOP时需要依赖:切面依赖 aspectjweaver依赖 以及AOP约束 用来配置切面和通知 以及注解时开启自动装配<aop:aspectj-autoproxy>原创 2020-06-14 14:18:18 · 393 阅读 · 0 评论 -
声明式事务(XML和注解)
XML配置声明式事务:(基本不用) 声明式事务(xml):为的是无论spring集成什么dao框架,我们不用写事务代码 1.开始将事务管理者配置到核心容器 2.注入数据源 3.配置事务 3.1 tx配置事务规则 事务规则: name就是方法名 事务规则作用的范围 rol原创 2020-06-10 15:45:24 · 267 阅读 · 0 评论 -
Spring的依赖注入(配置文件版)
依赖注入本质就是将spring的核心容器中托管的对象赋值给成员变量一共有两种方法,构造方法和set方法1.依赖注入的类型 java对象类型在对应属性的对象的bean标签下使用constructor-arg标签来实现构造方法 property 标签实现 name:成员变量名 ref:被赋值的依赖对象的id <bean id="userController" class="com.ls.cotroller.UserController" > <!--set方原创 2020-06-07 11:06:32 · 356 阅读 · 0 评论 -
Spring的AOP面向切面编程(XML和注解版)
使用Aop时需要导入aop约束 以及依赖aspectjweaver (这是动态代理的一种实现) Aop:使用切面中的通知去增强切入点的功能 底层增强有JDK动态代理和cglib动态代理 将切面的通知切入到切入点执行 切面:写入通知的类 连接点:所有可以被增强的方法 切入点:真正被增强的方法 通知:用于增强的方法 前置通知:.原创 2020-06-01 02:10:41 · 230 阅读 · 0 评论 -
Spring使用注解进行IOC(管理对象)和DI(依赖注入操作)
IOC注解(获取对象存入核心容器中管理):4种 1.Controller 注解 建议在表现层使用 2.Service 注解 建议在业务层使用 3.Repository 注解 建议在持久层使用 英文意思:仓库 4.Component 注解 用于其他地方 英文意思:组件 使用注解IOC时,默认的id为类名第一个字母小写 也可以在注解中使用value属性命名id 使用IOC注解需要的步骤: 1. 添..原创 2020-05-29 08:20:09 · 333 阅读 · 0 评论 -
Spring核心容器创建对象时三种方法时,Bean标签属性所代表的意义
1.使用构造函数的方法时创建对象的(用来管理一些直接可以new出来的对象) id:创建对象的唯一标识 class:要创建对象的全限定名 scope:标识要创建对象的范围 单例(只创建一次 每次都是调用的这个创建的)还是多例(可以创建多次 每次都不是同一个对象 地址值不一样) singleton表示单例(默认) 创建核心容器的时候创建 prototype表示多例 每次调用的时候创建 init-method:表示绑定的方法是对象创建的生命周期方法(也即是当对象被创建的时候就运行调用此方法)原创 2020-05-28 02:33:37 · 304 阅读 · 0 评论