在春天你应该为现有的类创建bean吗?

时间:2018-05-18 02:00:08

标签: spring

我正在创建一个spring应用程序,我想在我的WebSecurityConfigurerAdapter类中使用一个未经改动的SimpleUrlAuthenticationFailureHandler实例

.failureHandler(authFailureHandler)

在这个实例中使用新的SimpleUrlAuthenticationFailureHandler是否可以接受,或者我应该在appconfig中创建一个bean来返回该类?我觉得我应该通过Bean来做,但我无法向我的同事解释为什么会这样。

.failureHandler(new SimpleUrlAuthenticationFailureHandler())

vs

//in appconfig
@Bean
public FailureHandler failureHandler() {
    return new SimpleUrlAuthenticationFailureHandler();
}

//back in the class
@Autowired
FailureHandler failureHandler
...
...
.failureHandler(failureHandler)

1 个答案:

答案 0 :(得分:0)

这可能是可以接受的,但是使用bean可以:声明一次并将其注入多个客户端,隐藏了从Web安全配置中使用哪个实现的决定,并允许在测试中进行模拟。这些问题是否适用于您的申请需要与您的同事进行辩论。