繁体   English   中英

如何使xml bean适应Spring Boot

[英]How to adapt xml bean into spring boot

我有一个用XML编写的拦截器:

<bean class ="com.packt.webstore.interceptor.AuditingInterceptor"/> 
<bean class ="com.packt.webstore.interceptor.PromoCodeInterceptor" > 
    <property name="promoCode" value ="OF3RTA"/> 
    <property name="errorRedirect" value="invalidPromoCode"/> 
    <property name ="offerRedirect" value ="products"/> 
</bean >

如何在Spring Boot中编写相同的内容? 我尝试了这个:

@Bean
PromoCodeInterceptor promoCodeInterceptor() {
    PromoCodeInterceptor promoCodeInterceptor = new PromoCodeInterceptor();
    promoCodeInterceptor.setPromoCode("OF3RTA");
    promoCodeInterceptor.setErrorReidect("invalidPromoCode");
    promoCodeInterceptor.setOfferRedirect("products");
    return promoCodeInterceptor;
}

但这是行不通的。

///编辑

那这个呢?

<bean id="productValidator" 
class="com.packt.webstore.validator.ProductValidator">
  <property name="springValidators"> 
    <set> 
       <ref bean = "unitsInStockValidator"/> 
    </set > 
  </property> 
 </bean >

<bean id ="unitsInStockValidator" class 
="com.packt.webstore.validator.UnitsInStockValidator"/>

这个代码可以吗?

@Bean
public ProductValidator productValidator() {
ProductValidator productValidator = new ProductValidator();
productValidator.setSpringValidators(unitsInStockValidator());
return productValidator;
}

@Bean
public UnitsInStockValidator unitsInStockValidator() {
  UnitsInStockValidator unitsInStockValidator = new UnitsInStockValidator();
  return unitsInStockValidator;
}

@Bean注释仅在标有@Configuration类中起作用。 创建新类,并将您的bean定义放入其中

@Configuration
public class MyConfig {
    @Bean
    public PromoCodeInterceptor promoCodeInterceptor() {
        PromoCodeInterceptor promoCodeInterceptor = new PromoCodeInterceptor();
        promoCodeInterceptor.setPromoCode("OF3RTA");
        promoCodeInterceptor.setErrorReidect("invalidPromoCode");
        promoCodeInterceptor.setOfferRedirect("products");
        return promoCodeInterceptor;
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM