spring注解之@Configuration和@Configurable的区别

/**
* @Configuration和@Configurable的区别
* @Configurable:
* 一般情况下spring无法对new的对象进行依赖注入,此注解可以告诉Spring在
* 构造函数运行之前将依赖注入到对象中。
*
* @Configuration:
* 定义配置类,用来替换xml文件的,可以在方法上加@Bean注解定义其中的Bean
*/

@Configuration
public class RabbitMQConfig {

@Value("${email.emailQueueName}")
private String emailQueueName;

@Value("${email.emailExchangeName}")
private String emailExchangeName;

@Value("${email.emailRouting}")
private String emailRouting;
/**
* name:名字
* durable:是否持久化
* exclusive:是否唯一
* autoDelete:是否自动删除
*/
@Bean
public TopicExchange emailExchange() {
return new TopicExchange(emailExchangeName,true,false);
}

@Bean
public Queue emailQueue(){
return new Queue(emailQueueName,true,false,false);
}

@Bean
public Binding emailQueueBindingExchange(){
return BindingBuilder.bind(emailQueue()).to(emailExchange()).with(emailRouting);
}
}

@Configurable
class Config{
@Autowired
private String email;
@Autowired
private String emailRouting;

public void startCar() {
email.concat("1");
emailRouting.getBytes();

System.out.println("Car started");
}
}
posted @ 2021-05-31 20:01  夜景&  阅读(1094)  评论(0)    收藏  举报