01Spring------IOC

01Spring------IOC,第1张

01Spring------IOC 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
    
        
        

        
        

        
        
            
                红楼梦
                西游记
                水浒传
                三国演义
            
        

        
        
            
                听歌
                吃饭
                看电影
                打游戏
            
        

        
        
            
                
                
            
        

        
        
            
                王者荣耀
                英雄联盟
                皇室战争
                部落冲突
            
        

        

        
        
            
        

        
            
                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来创建,管理,装配!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5708214.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存