精华内容
下载资源
问答
  • new Object()注入Spring容器public class UserDao { @Resource AccountService accountService; public void print(){ System.out.println(accountService); } }比如有以上这个,实现将new UserDao()...

    将new Object()注入到Spring容器并实现依赖注入

    public class UserDao {
        @Resource
        AccountService accountService;
        public void print(){
            System.out.println(accountService);
        }
    }

    比如有以上这个类,实现将new UserDao()放入Spring容器中(放入工作由DefaultListableBeanFactory完成),并且AccountService会自动注入(注入工作由AutowireCapableBeanFactory完成)。

    @ContextConfiguration(locations = {"classpath:applicationContext.xml"})
    @RunWith(SpringJUnit4ClassRunner.class)
    public class test{
       @Autowired
        private AutowireCapableBeanFactory beanFactory;
        @Autowired
        DefaultListableBeanFactory defaultListableBeanFactory;
        public void testmenualInject(){
           UserDao userDao=new UserDao();
           //将new出的对象放入Spring容器中
           defaultListableBeanFactory.registerSingleton("userDao",userDao);
           //自动注入依赖
           beanFactory.autowireBean(userDao);
           userDao.print();
    //判断new的对象和从容器中拿出的对象是否一致
      System.out.println(defaultListableBeanFactory.getBean("userDao").equals(userDao));
        }
      }
    展开全文
  • spring中将类加入到IOC容器中的方法有两种: 1.在IOC容器中配置bean 这里是在IOC容器中配置bean的方法,使用的是set注入的方法。 <bean id="student" class="ora.awen.entity.Student" > <!-- ...

    将组件加入到IOC容器有很多方法:对于三层组件来说,有两种:

    举个例子来进行说明,创建三层模型来进行模拟。建立两个Dao层。

    Controller

    package org.awen.controll;
    
    import org.springframework.stereotype.Controller;
    
    @Controller
    public class StudentController {
    	
    }
    
    

    Service

    package org.awen.service;
    
    import org.awen.dao.StudentDao;
    import org.springframework.stereotype.Service;
    
    @Service
    public class StudentService {
    	
    }
    
    

    Dao

    package org.awen.dao;
    
    import org.springframework.stereotype.Repository;
    
    @Repository
    public class SchoolDao {
    
    }
    
    

    Dao

    package org.awen.dao;
    
    import org.springframework.stereotype.Repository;
    
    @Repository
    public class StudentDao {
    	
    }
    
    

    第一种:
    首先都通过注解将三层模型加入到 IOC容器中。上面的代码已经包含注解了

    Dao层的注解:@Repository

    Service层的注解:@Service

    Controller层的注解:@Controller

    将其在applicationContext.xml之中配置,也就是添加扫描器,扫描多个包就行了。

    	<context:component-scan base-package="org.awen.controll"></context:component-scan>
    	<context:component-scan base-package="org.awen.dao"></context:component-scan>
    	<context:component-scan base-package="org.awen.controll"></context:component-scan>
    

    这是代码的结构
    在这里插入图片描述
    测试方法
    直接调用该方法即可。

    public static void testAnnotation() {
    		ApplicationContext contet=new ClassPathXmlApplicationContext("applicationContext.xml");
    
    		/**
    		 * 遍历容器中所有的bean
    		
    		 * */
    		String[] ids=contet.getBeanDefinitionNames();
    		for(String id:ids) {
    			System.out.println(id);
    		}
    	}
    

    第二种:
    将其写入配置类之中。首先第一步都是相同的,都是在三层上面加上,注解。
    将三层都包含在其内部了。

    //这个东西 会将 当前配置类 也纳入到IOC容器中 并且id就是类名
    @Configuration
    
    @ComponentScan(value="org.awen")
    public class MyConfig {
    
    
    	
    }
    

    test的方法为:

    	public static void testAnnotation_one() {
    		ApplicationContext contet=new AnnotationConfigApplicationContext(MyConfig.class);
    		String[] ids=contet.getBeanDefinitionNames();
    		for(String id:ids) {
    			System.out.println(id);
    		}
    	}
    

    补充说明:

    1.excludeFilters中type=FilterType.ANNOTATION

    在Config.class的注解里面@ComponentScan是可以进行选择的。
    比如

    @ComponentScan(value="org.awen",excludeFilters= {@ComponentScan.Filter(type=FilterType.ANNOTATION,value= {Service.class,Controller.class})})
    

    这样子,是具有选择的功能的,就将注解为:Service和Controller的类排除掉了,所以显示结果就不包含了Controller,Service类。

    2.excludeFilters中的type=ASSIGNABLE_TYPE

    @ComponentScan(value="org.awen",excludeFilters= {@ComponentScan.Filter(type=ASSIGNABLE_TYPE,value= {StudentController.class})})
    

    这样子,是将StudentController这个类排除掉。
    解释:
    FilterType.ANNOTATION
    ---------这个针对于三层注解类型
    FilterType.ASSIGNABLE_TYPE
    ---------针对具体的类后面跟的是具体的类

    3.includeFilters的使用

    //这个是包括某些类的使用方法,需要设置默认行为,才可以。禁止默认行为
    //@ComponentScan(value="org.awen",includeFilters= {@ComponentScan.Filter(type=FilterType.ANNOTATION,value= {Service.class})},useDefaultFilters=false)
    
    

    比如这样子,就是将某一些 类加入到其中。

    • excludeFilters:排除
    • includeFilters:有默认行为可以通过useDefaultFilters=false禁止默认行为

    4.使用自定义类

    这个是使用自定义类 进行 筛选 某一个类 ,在上面写了四个实例的类,分别是

    StudentDao.class

    SchoolDao.class

    StudentService.class

    StudentControll.class
    这个时候 就会用到 SchoolDao,这里会使用自定义类的方法,将其排除掉。

    @ComponentScan(value="org.awen",includeFilters= {@ComponentScan.Filter(type=FilterType.CUSTOM,value= {MyFilter.class})})
    

    MyFilter类:

    @Override
    	public boolean match(MetadataReader metadataReader, MetadataReaderFactory arg1) throws IOException {
    		// TODO 自动生成的方法存根
    		ClassMetadata classMetadata=metadataReader.getClassMetadata();
    		//扫描器 扫描“org.awen”包中所有的类,getClassName()而可以拿到 该包中所有的类
    		String className=classMetadata.getClassName();
    		
    		//只过滤出  和学生相关的三层组件 把有学生的三层组件纳入到IOC容器中
    		if(className.contains("Student")) {
    			return true;
    		}
    		
    		return false;
    		
    	}
    	
    

    再次测试的时候,schoolDao就不会在Bean中出现了。

    type=FilterType.CUSTOM然后后面跟你的类名加.class 这个是你自己自定义的类 必须实现一个接口

    展开全文
  • 1 将注册到到Spring容器的实例化和初始化过程由spring控制。 方法一:xml注册Bean xml注册Bean,如果spring配置元数据的方式是xml时,可以手动在xml注册第三方jar包中的。常用来配置本项目中的Bean。 <...

    1 将类注册到到Spring容器

    该类的实例化和初始化过程由spring控制。

    方法一:xml注册Bean

    xml注册Bean,如果spring配置元数据的方式是xml时,可以手动在xml注册第三方jar包中的类。常用来配置本项目中的Bean。

    <bean id="service1" class="stu.spring.services.Service1"></bean>
    

    方法二:@Componen

    扫描注解,如果spring配置元数据的方式是注解时,指定扫描包然后给类上加@Component注解就可以。常用来扫描本项目中的Bean。

    xml指定扫描包:

    <context:component-scan base-package="stu.spring.lifecycle"></context:component-scan>
    

    Java Configuration指定扫描包:

    @Configuration
    @ComponentScan("stu.spring.services")
    public class AppConfig {
    }
    

    方法三:@Configuration

    spring配置元数据的方式使用Java Configuration时,指定配置类的注解,spring该注解spring在实例化该类的对象时是先通过cglib代理生成代理类,再实例化对象。

    @Configuration
    public class ConfigA {
    }
    

    方法四:@Import

    @Import注解,用于java配置类上才有效,常用来导入一个或者多个配置类,导入非配置类也可以。

    @Configuration
    public class ConfigA {
        @Bean
        public A a() {
            return new A();
        }
    }
    @Configuration
    @Import(ConfigA.class)
    public class ConfigB {
        @Bean
        public B b() {
            return new B();
        }
    }
    

    2 将一个对象注册到spring容器

    该对象的实例化和初始化过程由程序员控制。

    方法一:@Bean

    @Bean注册Bean,如果spring配置元数据的方式是Java Configuration时,可以使用@Bean注解注册第三方jar包中的类。一般用来注册一些配置信息。

    @Bean
    public A1Service getA2Service(){
       return new A1Service() ;
    }
    

    方法二:spring容器直接注册

    获取到使用容器,使用spring容器直接注册bean。获取spring容器的方法有很多不仅仅下面示例展示的方式。

    AnnotationConfigApplicationContext ann = new AnnotationConfigApplicationContext(AppConfig.class);
    ann.getBeanFactory().registerSingleton("testService",new A1Service());
    

    方法三:FactoryBean

    使用自定义的FactoryBean,一般和第三方jar继承或者扩展spring使用该方式

    @Component
    public class CustomerFactoryBean implements FactoryBean<A1Service> {
       @Override
       public A1Service getObject() throws Exception {
          return new A1Service();
       }
    
       @Override
       public Class<?> getObjectType() {
          return A1Service.class;
       }
    
    }
    
    展开全文
  • 看dubbo源代码. xml里配置的dubbo consumer对应的ReferenceBean....但现在需要手动(编程式)将FactoryBean手动注入到容器中. 运用debug的原理的原理发现FactoryBean的getObject()调用堆栈是. 但这里已经是

    看dubbo源代码. xml里配置的dubbo consumer对应的ReferenceBean. 是spring的FactoryBean.

    一般情况下FactoryBean 直接配置在xml里,然后spring自动注入.

    但现在需要手动(编程式)将FactoryBean手动注入到容器中.

    运用debug的原理的原理发现FactoryBean的getObject()调用堆栈是. 但这里已经是被spring接管了,好奇这个Object什么时候注册到spring的context中的,


        然后就查看new ReferenceBean() [无父类]的地方,发现也没有注入到context容器中.

        然后就蒙逼了, 只能从spring的基础功能入手. 何时注入FactoryBean 到何时注入Bean. 再到dubbo的consumer xml解析.终于找到一篇文章: Dubbo源码分析(二):Dubbo之消费端(Consumer) { http://www.cnblogs.com/huqianliang/p/5673652.html }

        然后看这里的源代码,恍然大悟, spring都是通过BeanDefinition注入的.后面再进行最后的finishBeanFactoryInitialization


      

    "main@1" prio=5 tid=0x1 nid=NA runnable
      java.lang.Thread.State: RUNNABLE
          at com.alibaba.dubbo.config.spring.ReferenceBean.getObject(ReferenceBean.java:65)
          at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:142)
          at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:102)
          - locked <0x137c> (a java.util.concurrent.ConcurrentHashMap)
          at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1441)
          at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:248)
          at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
          at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:848)
          at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:790)
          at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:707)
          at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:478)
          at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
          at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:284)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
          at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
          at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
          at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
          at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
          at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:848)
          at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:790)
          at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:707)
          at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:478)
          at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
          at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:284)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
          at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
          at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
          at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
          at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
          at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:848)
          at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:790)
          at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:707)
          at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:478)
          at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
          at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:284)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
          at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
          at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
          at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
          at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
          at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:848)
          at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:790)
          at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:707)
          at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:438)
          at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:416)
          at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:549)
          at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:150)
          at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
          at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessPropertyValues(CommonAnnotationBeanPostProcessor.java:303)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
          at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
          at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
          at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
          at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
          at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:442)
          at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:416)
          at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:549)
          at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:150)
          at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
          at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessPropertyValues(CommonAnnotationBeanPostProcessor.java:303)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
          at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
          at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
          at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
          at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
          at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:442)
          at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:416)
          at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:549)
          at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:150)
          at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
          at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessPropertyValues(CommonAnnotationBeanPostProcessor.java:303)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
          at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
          at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
          at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
          at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
          at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:442)
          at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:416)
          at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:549)
          at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:150)
          at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
          at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessPropertyValues(CommonAnnotationBeanPostProcessor.java:303)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
          at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
          at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
          at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
          at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
          at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:442)
          at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:416)
          at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:549)
          at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:150)
          at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
          at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessPropertyValues(CommonAnnotationBeanPostProcessor.java:303)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
          at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
          at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
          at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
          at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
          at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:442)
          at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:416)
          at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:549)
          at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:150)
          at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
          at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessPropertyValues(CommonAnnotationBeanPostProcessor.java:303)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
          at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
          at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
          at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
          at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
          at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
          - locked <0x137d> (a java.util.concurrent.ConcurrentHashMap)
          at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)
          at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
          - locked <0xc57> (a java.lang.Object)
          at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
          at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93)
          at com.alibaba.dubbo.container.spring.SpringContainer.start(SpringContainer.java:50)
          at com.alibaba.dubbo.container.Main.main(Main.java:80)
          at com.kuaidadi.liangjian.pay.PayPlatformLauncher.main(PayPlatformLauncher.java:34)
          at com.kuaidadi.liangjian.pay.dubboself.BootStrap.main(BootStrap.java:40)


    手动将new出来的object注入(注册)到spring容器中

    展开全文
  • 经常在一些工程中看到 选择左侧目录树 右侧添加TAB加载内容的例子 如图 ...在这里使用ModuleLoader作为子容器 将其动态的加入到TabNavigator中的例子 首先建立几个Module 其中一个Module代码如下
  • 通常我们使用JPA来操作mysql数据库时,会使用@Service来注解service,这样我们就可以在使用@Controller注解的controller里使用@...而是使用@Configuration+@Bean把一个注入bean容器 配置 @Configuratio...
  • Spring如何管理Java普通 Java获取Spring容器的bean 获取spring的ApplicationContext
  • JPanel面板容器类

    千次阅读 2016-06-08 23:08:53
    包中,是一种轻量级容器,可以加入到JFrame窗体中。JPanel默认的布局管理器是FlowLayout,其自身可以嵌套组合,在不同子容器中可包含其他组件(component),如JButton、JTextArea、JTextField 等,功能是对对窗体上...
  • JAVA 容器类总结

    千次阅读 2015-02-04 11:05:17
    原文出处:... 1.java容器分类图  说明:第一个图为简化图(其中粗线部分是重点的容器),第二个图为完整容器分类图 ...2.容器类接口和抽象容器类   2.1 说明  容器接口是容器的基础
  • Java集合容器面试题(2020最新版)

    万次阅读 多人点赞 2020-03-01 11:08:34
    文章目录集合容器概述什么是集合集合的特点集合和数组的区别使用集合框架的好处常用的集合有哪些?List,Set,Map三者的区别?List、Set、Map 是否继承自 Collection 接口?List、Map、Set 三个接口存取元素时,各...
  • SpringBoot 之 普通获取Spring容器中的bean
  • java容器类

    万次阅读 2009-02-25 16:35:00
    Java容器类Collection、List、ArrayList、Vector及map、HashTable、HashMap区别 Collection是List和Set两个接口的基接口 List在Collection之上增加了"有序" Set在Collection之上增加了"唯一" 而ArrayList是实现List...
  • MFC容器MFC中容器类的使用

    千次阅读 2013-10-17 14:02:12
    对于MFC中所提到的基本容器类,做一个基本的介绍和编程操作。  如有数据结构基础,可以直接看第四部分对容器类的操作。  第一,MFC提供三种基本的容器类:arrays(数组), lists(链表), maps(映射,也称作...
  • 我们知道如果我们要在一个使用spring提供的bean对象,我们需要把这个注入spring容器中,交给spring容器进行管理,但是在实际当中,我们往往会碰到在一个普通的Java中,想直接使用spring提供的其他对象或者说...
  • 场景:一个不受spring管理的静态工厂...疑难点:如何从spring容器中获取bean,并注入自己new出来的对象中。 解决方案:使用spring的autoware机制+static,spring的autoware自动装配:只要实现了ServletContex...
  • 项目中经常会添加一些properties配置文件,我们可以每次通过IO读取,但是每次都创建IO比较耗费资源, 最好的方式是,项目启动的时候,我们将配置文件加载一个中, 然后将spring容器中, 这样我们就可以...
  • java容器类---Vector

    千次阅读 2015-08-08 11:34:45
    (2)Vector是JDK1.0引入了,它的很多实现方法都加入了同步语句,因此是线程安全的(其实也只是相对安全,有些时候还是要加入同步语句来保证线程的安全),可以用于多线程环境。 (3)Vector实现了Serializable接口...
  • Delphi中的容器类

    千次阅读 2009-12-02 09:29:00
    Delphi中的容器类作者 陈省 从Delphi 5开始VCL中增加了一个新的Contnrs单元,单元中定义了8个新的,全部都是基于标准的TList 。 TList TList 实际上就是一个可以存储指针的容器类,提供了一系列的方法和...
  • 深入理解Java中的容器

    万次阅读 多人点赞 2016-07-27 17:25:40
    在Java当中,如果有一个专门用来存放其它的对象,这个就叫做容器,或者就叫做集合,集合就是将若干性质相同或相近的对象组合在一起而形成的一个整体 2、容器与数组的关系 之所以需要容器: 1、数组的...
  • spring三方包注入容器的四种方法

    千次阅读 2019-03-20 09:13:52
    如果引用第三方jar包,肯定是不能直接使用常用注解@Controller、@Service、@Repository、@Component将的实例注入spring容器中。以下四种方法可以向spring容器中导入三方包中实例 。 1 xml配置 这种情况大家...
  • C++中的容器类详解

    万次阅读 多人点赞 2015-12-18 15:05:55
    C++中的容器类包括“顺序存储结构”和“关联存储结构”,前者包括vector,list,deque等;后者包括set,map,multiset,multimap等。若需要存储的元素数在编译器间就可以确定,可以使用数组来存储,否则,就需要用到...
  • 我们在这里增加使用了cluter-gtk-0.10的开发包,需要加入相关的头文件路径和lib,利用pkg-config的方式加入。 CC = gcc # -Wall表示输出所有警告消息,-g表示编译...
  • c# 把窗体嵌入到容器控件中

    千次阅读 2018-03-07 16:36:51
    想把窗体嵌入到容器控件中,让它只能在容器范围内活动.在窗体中添加一个 splitContainer容器生成一个子窗体From from2=new From();设置子窗体为非顶级窗体form2.TopLevel = false;设置子窗体的父容器form2.Parent = ...
  • delphi 容器类 3. TCollection

    千次阅读 2012-10-16 08:52:04
    TCollection 是TCollectionItenm对象一个容器。  关系TObject→TPersistent  每一个TCollection都拥有一组TCollectionItem对象。  在其Items属性数组中,TCcllection保存集合项目一个下标。Count ...
  • C# 布局容器类

    千次阅读 2011-05-29 11:51:00
    ”,就是将控件和其容器的左右上下中这五个位置绑定,无论容器移动什么地方,也无论容器的尺寸如何变化,控件始终确定在这五个位置之一的地方。这个枚举其定义如下:   ///   < ...
  • web容器类加载顺序

    千次阅读 2012-03-05 20:08:02
    Weblogic中classloader是分层次的,它只能加载比它层次高的及它自身的,同层次的及比它层次低的都不能加载。 在weblogic中的classloader有5个层次,从高低排: a. jdk b. jdk ext c. system classpath...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 179,494
精华内容 71,797
关键字:

new的类加入到容器