java - 如何将xml bean适配到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;
}
}
推荐阅读
- elasticsearch - 复杂布尔查询中的弹性搜索错误
- java - 从约束布局类外部将视图膨胀到约束布局
- hibernate - 如何在休眠中仅从表和连接表中的多对多关系中获取数据
- javascript - 如何获取文档上的所有嵌套 iframe?
- c# - 从数据库中填充自定义 TreeView,其中父母按字母缩进
- java - 使用 AppCompat 主题后如何删除按钮中多余的白色背景?
- css - 如何使列占用剩余空间
- sql-server - 在数据库中的所有表上执行的 SQL 脚本
- r - 在数据框中过滤具有每个 ID 的最大日期的数据
- reactjs - 服务器端 webpack 无法从 node_modules 读取 css 文件