• spring学习笔记三:Component注解(把POJO类实例化到spring的IOC容器中)


    Component注解:把普通的POJO 类实例化到spring的IOC容器中,就是定义成<bean id="" class="">

    项目目录树:

    ApplicationContext.xml

    <beans xmlns="http://www.springframework.org/schema/beans"  
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
        xmlns:aop="http://www.springframework.org/schema/aop"  
        xmlns:context="http://www.springframework.org/schema/context"  
        xsi:schemaLocation="  
           http://www.springframework.org/schema/beans  
           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
           http://www.springframework.org/schema/aop  
           http://www.springframework.org/schema/aop/spring-aop-3.0.xsd  
           http://www.springframework.org/schema/context  
           http://www.springframework.org/schema/context/spring-context-3.0.xsd" 
            >  
        <!-- component-scan 会自动开启bean自动注册,base-package会扫描该包下的特殊注解 -->
        <context:component-scan base-package="com.donghai.bean" />
        
    </beans>

    User.java

    package com.donghai.bean;
    
    import org.springframework.stereotype.Component;
    
    @Component("user") //使用Component注解,相当于添加<bean id="user" class="com.donghai.bean.User" />
    public class User {
    
        private String name = "ddh";
        
        public String getName() {
            return name;
        }
    
        
    }

    Group.java

    package com.donghai.bean;
    
    import javax.annotation.Resource;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Component;
    
    @Component("group")
    public class Group {
    
        @Autowired  //使用自动装配,默认按照byType对应的类型查找bean,如果只有一个注入,如果有多个抛出异常
    Caused by: org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type
    需要使用@Qualifier(" ") 来指定使用那个实现
    ,也可以使用Resource(name="user") 使用资源指定
    private User user; public User getUser() { return user; } }

    Client.java

    package com.donghai.spring;
    
    
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    import com.donghai.bean.Group;
    import com.donghai.bean.User;
    
    public class Client {
    
        public static void main(String[] args){
            ApplicationContext acc = new ClassPathXmlApplicationContext("applicationContext.xml");
            Group group = (Group)acc.getBean("group");
            System.out.println(group.getUser().getName());
        }
    }

    运行结果:

  • 相关阅读:
    2016年工作中遇到的问题11-20
    分布式服务框架Dubbo入门案例和项目源码
    分布式服务框架Dubbo入门案例和项目源码
    小米网抢购系统开发实践和我的个人观察
    小米网抢购系统开发实践和我的个人观察
    大学毕业4年-回顾和总结(8)-全局观-互联网项目研发-不在其位亦谋其政
    大学毕业4年-回顾和总结(8)-全局观-互联网项目研发-不在其位亦谋其政
    某电商项目的若干技术问题
    某电商项目的若干技术问题
    ZOJ 3861 Valid Pattern Lock
  • 原文地址:https://www.cnblogs.com/djoker/p/6429701.html
Copyright © 2020-2023  润新知