spring中的@Bean注解

1.Spring中常见的注解理解

spring中的常用的注解通常分为两类,一类是用来注册Bean,一类是用来使用Bean,简单的来说bean就是一个被实例化的对象

1.1 注册bean

spring中的IOC容器本来是空的,该类注解就是往IOC容器中放东西,比如@Component , @Repository , @ Controller , @Service , @Configration这些注解就是用于注册Bean,把对象交给spring去管理,当我们需要使用时直接去IOC容器中去取,而不是new一个新的对象,

1.2 使用bean

@Autowired , @Resource注解,就是从IOC容器中取

2.@Bean的理解

@Bean注解作用于某一方法上会产生一个Bean对象,并且将这个bean对象交给spring容器管理,并且这个产生Bean的构造方法只会执行一次。最常见使用这个注解的场景就是在我们调用外部类的时候,之前我在对接微信支付的时候,引入了别人开发的SDK

 @Bean
 public WxPayConfig wxPayConfig(){
      WxPayConfig wxPayConfig = new WxPayConfig();
      wxPayConfig.setAppId(wxAccountConfig.getAppId());//采用native支付需要小程序Id
      wxPayConfig.setMchId(wxAccountConfig.getMchId());//商户Id
      wxPayConfig.setMchKey(wxAccountConfig.getMchKey());//商户密钥
      wxPayConfig.setNotifyUrl(wxAccountConfig.getNotifyUrl());//异步通知
      wxPayConfig.setReturnUrl(wxAccountConfig.getReturnUrl());
      return wxPayConfig;
  }

WxPayConfig属于外部库,无法使用@Component进行注释,必须加上@Bean注解将其标注为一个工厂方法,是spring在启动时会立即创建该方法的bean,微信的基本配置就已经配置完成了。

你可能感兴趣的:(spring的注解,spring,java,后端)