@Bean 引用其他bean的方式

1、直接调用方法。方法返回的对象是容器内@bean生成的对象

    @Bean("poolConfig")
    public JedisPoolConfig poolConfigBean() {
        JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
        jedisPoolConfig.setMaxIdle(200);
        jedisPoolConfig.setMinIdle(20);
        jedisPoolConfig.setMaxWaitMillis(1000);
        jedisPoolConfig.setTestOnBorrow(true);
        return jedisPoolConfig;
    }
   
    @Bean("jedisConnFactory")
    public JedisConnectionFactory jedisConnectionFactoryBean() {
        JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory();
        jedisConnectionFactory.setPoolConfig(poolConfigBean());
        jedisConnectionFactory.setUsePool(true);
        jedisConnectionFactory.setHostName(redisHostName);
        jedisConnectionFactory.setPassword(redisPassword);
        return jedisConnectionFactory;
    }

2、

    @Bean("redisPoolConfig")
    public JedisPoolConfig poolConfigBean() {
        JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
        jedisPoolConfig.setMaxIdle(200);
        jedisPoolConfig.setMinIdle(20);
        jedisPoolConfig.setMaxWaitMillis(1000);
        jedisPoolConfig.setTestOnBorrow(true);
        return jedisPoolConfig;
    }

    @Bean("jedisConnFactory")
    public JedisConnectionFactory jedisConnectionFactoryBean(JedisPoolConfig poolConfig) {
        JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory();
        jedisConnectionFactory.setPoolConfig(poolConfig);
        jedisConnectionFactory.setUsePool(true);
        jedisConnectionFactory.setHostName(redisHostName);
        jedisConnectionFactory.setPassword(redisPassword);
        return jedisConnectionFactory;
    }
    
    @Bean("jedisConnFactory")
    public JedisConnectionFactory jedisConnectionFactoryBean(@Qualifier("redisPoolConfig") JedisPoolConfig poolConfig) {
        JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory();
        jedisConnectionFactory.setPoolConfig(poolConfig);
        jedisConnectionFactory.setUsePool(true);
        jedisConnectionFactory.setHostName(redisHostName);
        jedisConnectionFactory.setPassword(redisPassword);
        return jedisConnectionFactory;
    }

猜你喜欢

转载自my.oschina.net/u/3434392/blog/1818817