spring Ioc(控制反转)

怼烎@ 2022-05-27 11:37 397阅读 0赞

简述: spring的核心有两部分:ioc和aop
(1)ioc:控制反转,之前调用一个类中的不是静态的方法,创建类的对象 new 类,再调用。现在使用spring的ioc之后,不需要自己手动new创建对象,交给spring进行管理。
(2)aop:面向切面编程,在基本的功能之上,可以添加一个额外功能,不添加额外功能,基本功能也可以运行。Aop底层原理动态代理

一.Ioc: 把对象的创建交个spring管理,不需要手动(new()个对象)创建对象

1.Spring的bean管理(xml配置文件):

  1. 什么是Bean管理?
  2. Bean管理:
  3. 1.创建对象的过程(既new()过程),
  4. 2.创建对象的过程中设置属性值

2.使用spring创建对象的三种的三种方式(既bean管理)
1).使用无参数的构造方法创建

  1. java类:
  2. public class TestIOCDemo{
  3. }
  4. 创建TestIOCDemo类的对象(在xml文件的配置)
  5. <bean id="demo" class="cn.ioc.TestIOCDemo">

2).使用静态工厂创建
3).使用实例工厂创建

3.依赖注入的三种方式:

1)使用setter注入

  1. public class Role{
  2. private Long id;
  3. private String roleName;//要在配置文件(xml注入值)
  4. public void setRoleName(String roleName){
  5. this.roleName = roleName;
  6. }
  7. }
  8. 配置文件(xml):
  9. <bean id="roleId" class="Role类的路径">
  10. //name的值和类里的值必须是一致的
  11. <property name="roleName" value="高级工程师">
  12. </bean>
  13. 最后是Role类里面的roleName就是 高级工程师

2).使用有参数的构造方法注入
3).使用接口注入

4.Spring的bean管理(注解方式)
这里写图片描述

  1. Ioc底层原理: 配置文件+工厂+反射
  2. 1.创建配置文件: <bean id="testDao" class="com.test.TestDao"></bean> 2.工厂: 解析配置文件(dom4j方式解析配置文件), 得到testDaotestDao的全路径 3.反射: 得到全路径后,使用反射得到对象Class: Class clazz = Class.forName("testDao的全路径"); 在获取到类的实例:clazz.newInstance();

二.数组,集合注入:

1.数组的注入;

  1. //java 代码
  2. public class ArrayDemo {
  3. //注入数组属性
  4. private String[] arr;
  5. public void setArr(String[] arr) {
  6. this.arr = arr;
  7. }
  8. public void arrayDemo(){
  9. System.out.println("=="+ Arrays.toString(arr));
  10. }
  11. //配置文件代码
  12. <!--数组属性的注入-->
  13. <bean id="arrayDemo" class="com.spring.ioc.ArrayDemo">
  14. <property name="arr">
  15. <list>
  16. <value>小南国</value>
  17. <value>小呆瓜</value>
  18. <value>小笨蛋</value>
  19. </list>
  20. </property>
  21. </bean>

2.list的注入;
这里写图片描述

3.set的注入;
这里写图片描述

4.map的注入;
这里写图片描述

发表评论

表情:
评论列表 (有 0 条评论,397人围观)

还没有评论,来说两句吧...

相关阅读

    相关 spring控制IOC

    IOC即为Inversion of Control,中文名称为控制反转。它是一种设计模式,用于降低代码耦合度,提高代码可维护性和可扩展性。 在面向对象编程中,对象之间的依赖关

    相关 spring Ioc(控制)

    简述: spring的核心有两部分:ioc和aop (1)ioc:控制反转,之前调用一个类中的不是静态的方法,创建类的对象 new 类,再调用。现在使用spring的ioc

    相关 Spring框架 IOC控制

    对象之间的依赖由容器建立,避免对象之间依赖由对象自身建立。可以用减少代码之间的耦合度。其中最常见的方式叫做依赖注入。 当A类中用到了B类的对象b,在没有IOC时需要在A的代