栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring之IOC控制反转

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring之IOC控制反转

加粗样式# IOC控制反转

spring.xml文件配置




三种实例化对象的方法 构造器
    
    
    
    
    
静态工厂

在有一个静态工厂类情况下:

public class CarFactory {

    
    public static Car getCar(String type){
      return   new Car(10001,type,2000000.01);
    }
}

 
    

        
    
实例化工厂

在有一个实例化工厂类的情况下:

public class CarFactory2 {

    
    public  Car getCar(){
      return   new Car(10001,"BMW",2000000.01);
    }
}
    
    
    
依赖注入方式 set注入
 
       
       
       
       
构造器注入

    
    
    
    
    
    

静态工厂注入

    

实例化工厂注入
 
p标签注入 
xmlns:p="http://www.springframework.org/schema/p"



复杂属性的注入

有时创建对象的属性可能是个复杂的不能用一个value搞定,所以需要使用复杂的注入;


    



    
    
    
    
    
    
    
    
        
            吸烟
            喝酒
            烫头
        
    
    
    
        
            AAAA
            BBBB
            CCCC
        
    
    
    
        
            
                中国银行业
            
            
                工商银行业
            
            
                建设银行业
            
        
    
    
    
        
            com.mysql.jdbc.Driver
            jdbc:mysql:///java50?characterEncoding=utf-8
            root
            root
        
    
    
    
        
            语文
            数学
            外语
        
    
    
    

自动装配

开启扫描

在spring.xml文件中写入:


开启自动装配之后,在你要实例化的变量上面标上@Autowired

如果spring.xml中有设置好了的类型对应的bean,就自动拿过去与那个变量匹配;

public class UserController {
    @Autowired
    private UserServiceInf userService;
    public void start(int id){
        User user = userService.findById(id);
        System.out.println(user);
    }
}

如上代码就相当于已经实例化了一个UserService对象;

扫描开发

开启扫描,在spring.xml文件中写入:


在你所需要实例化的类前注解一个

@Controller//controller层注解
@Component//任意类注解
@Service//Service层
@Repository//dao层

注解之后就相当于这个类已经在xml文件中写入了一个bean,然后就可以配合自动装配引用;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/659380.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号