-
spring中反射的应用
https://blog.csdn.net/mlc1218559742/article/details/52774805
spring解析xml文件拿出bean元素,接着通过反射(newinstance)来创建实例
(此处是根据元素名字用反射找到对应的类)
-
为什么要用反射来创建对象呢?
- 首先知道耦合,当在一个类里面new出另外一个类,会增加这两个类的耦合度
- 而解耦一般用到:a.反射 b.多态 c.工厂模式
- 依赖注入提高了解耦性,举例:你要一辆车,自己造一辆(new),出去租一辆(容器中通过反射创建)如果自己造完用一次不用了,就仍在那浪费空间,而汽车厂租的可以还回去,别人能用如果说自己造的别人也能用,那只限于知道你造了汽车的人,但是人人都知道汽车厂可以有汽车
-
spring的松耦合
spring 解耦https://blog.csdn.net/weixin_41866960/article/details/83994137
- 第三方给你依赖的类而不是自己去创建(自己创建会增加耦合性),这是松耦合
- spring通过setter或构造方法实现依赖注入
- spring的降耦合度主要是 客户端值依赖接口,不依赖实现类,实现类在xml中已经和接口接好了
<bean id="userManager" class="com.bjpowernode.spring.manager.UserManagerImpl"></bean>