> 文档中心 > 01Spring------IOC

01Spring------IOC

目录

Spring

IOC创建对象方式

通过无参构造方法来创建

通过有参构造方法来创建 

Spring配置

Bean的配置

import

依赖注入(DI)

1、构造器注入  (上面)

2、Set 注入 (重点)

属性

bean.xml

测试 

3、p命名和c命名注入

User.java :【注意:这里没有有参构造器!】

Bean的作用域

Singleton  (默认)

Prototype   

        原型模式也就是在之后的getBean时重新new一个对象

 测试

OK,到了现在,我们彻底不用再程序中去改动了,要实现不同的操作,只需要在xml配置文件中进行修改,所谓的lOC,一句话搞定:对象由Spring来创建,管理,装配!


Spring

官网 : Spring | Home

官方下载地址 : JFrog

GitHub : Spring · GitHub

优点

1、Spring是一个开源免费的框架 , 容器  .

2、Spring是一个轻量级的框架 , 非侵入式的 .

3、控制反转 IoC  , 面向切面 Aop

4、对事物的支持 , 对框架的支持

一句话概括:

Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器(框架)。

IOC本质

控制反转IOC,是一种设计思想,DI(依赖注入)是实现IOC的一种方法

控制反转是一种通过描述(XML或注解)并通过第三方去生产或获取特定对象的方式。在Spring中实现控制反转的是IoC容器,其实现方法是依赖注入

IOC是一种编程思想,由主动的编程变成被动的接收

IOC创建对象方式

通过无参构造方法来创建

      

通过有参构造方法来创建 

      
      
   

Spring配置

Bean的配置

   

import

团队的合作通过import来实现 .

依赖注入(DI)

概念

  • 依赖注入(Dependency Injection,DI)。

  • 依赖 : 指Bean对象的创建依赖于容器 . Bean对象的依赖资源 .

  • 注入 : 指Bean对象所依赖的资源 , 由容器来设置和装配 .

1、构造器注入  (上面)

2、Set 注入 (重点)

要求被注入的属性 , 必须有set方法 , set方法的方法名由set + 属性首字母大写 , 如果属性是boolean类型 , 没有set方法 , 是 is .

属性

public class Student {    private String name;    private Address address;    private String[] books;    private List hobbys;    private Map card;    private Set games;    private String wife;  //此时表示  空值    private Properties info;

bean.xml

                 红楼梦  西游记  水浒传  三国演义               听歌  吃饭  看电影  打游戏                                王者荣耀  英雄联盟  皇室战争  部落冲突       <!--注意: null 和 空值 是有区别的     空值   -->                Mysql  com.jdbc  root  123456          

测试 

    @Test    public void test1(){ ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml"); Student student = context.getBean("Student", Student.class); System.out.println(student.toString());    }

3、p命名和c命名注入

User.java :【注意:这里没有有参构造器!】

public class User {    private String name;    private int age;

p 命名空间注入 : 需要在头文件中加入约束文件   属性  set 方法

 导入约束 : xmlns:p="http://www.springframework.org/schema/p"   

c 命名空间注入 : 需要在头文件中加入约束文件    构造器   有参构造

 导入约束 : xmlns:c="http://www.springframework.org/schema/c"  

Bean的作用域

Singleton  (默认)

Prototype   

        原型模式也就是在之后的getBean时重新new一个对象

                    

 测试

OK,到了现在,我们彻底不用再程序中去改动了,要实现不同的操作,只需要在xml配置文件中进行修改,所谓的lOC,一句话搞定:对象由Spring来创建,管理,装配!

解梦吧