Java 如何使用Spring@Configuration引用一个不存在的bean

Java 如何使用Spring@Configuration引用一个不存在的bean,java,spring,spring-mvc,thymeleaf,Java,Spring,Spring Mvc,Thymeleaf,我不喜欢XML配置(那些大而不可读的文件),我更喜欢使用java代码而不是它们。我正在使用Spring(Core,MVC)和Thymeleaf作为模板引擎的一个简单web项目 下面是代码片段 @EnableWebMvc @Configuration @ComponentScan({"com.github.tobilko"}) public class DependencyConfiguration { @Bean(name = "templateResolver") publi

我不喜欢XML配置(那些大而不可读的文件),我更喜欢使用java代码而不是它们。我正在使用Spring(Core,MVC)和Thymeleaf作为模板引擎的一个简单web项目

下面是代码片段

@EnableWebMvc
@Configuration
@ComponentScan({"com.github.tobilko"})
public class DependencyConfiguration {

    @Bean(name = "templateResolver")
    public ServletContextTemplateResolver getTemplateResolver() {
        ServletContextTemplateResolver resolver = new ServletContextTemplateResolver();

        resolver.setPrefix("/WEB-INF/templates/");
        resolver.setSuffix(".html");
        resolver.setTemplateMode("HTML5");

        return resolver;
    }

    @Bean(name = "templateEngine")
    public SpringTemplateEngine getTemplateEngine() {
        SpringTemplateEngine engine = new SpringTemplateEngine();
        engine.setTemplateResolver(/*?*/);
        return engine;
    }

}
我对一个我称之为
/*?*/
的地方感兴趣。我想参考
templateResolver
bean。我需要在这里粘贴什么?如何引用一个不存在的bean

XML文件中的bean配置示例:

<bean id="templateResolver"
       class="org.thymeleaf.templateresolver.ServletContextTemplateResolver">
  <property name="prefix" value="/WEB-INF/templates/" />
  <property name="suffix" value=".html" />
  <property name="templateMode" value="HTML5" />
</bean>

<bean id="templateEngine"
      class="org.thymeleaf.spring4.SpringTemplateEngine">
  <property name="templateResolver" ref="templateResolver" />
</bean>
抛出
java.lang.IllegalStateException

上下文尚未刷新

使用以下命令:

public SpringTemplateEngine getTemplateEngine(ServletContextTemplateResolver templateResolver) {

您可以将定义的Bean注入到用
@Bean
注释的方法中,或者您可以在
getTemplateEngine()
内部调用
getTemplateResolver()
,这是一个非常简单的解决方案,为什么我没有立即找到它呢?多谢各位
public SpringTemplateEngine getTemplateEngine(ServletContextTemplateResolver templateResolver) {