Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
springmvc@Configuration类构造函数_Spring_Spring Mvc - Fatal编程技术网

springmvc@Configuration类构造函数

springmvc@Configuration类构造函数,spring,spring-mvc,Spring,Spring Mvc,作为SpringMVC初始化的一部分,我需要运行一次操作(只是在第三方库上调用一个方法)作为设置操作。我在SpringMVC环境中工作,在那里我无法真正控制web.xml或任何东西,因此我无法添加servlet上下文侦听器或任何东西。我试图实现一个WebApplicationInitializer,但它似乎从未被调用(不知道为什么,也不知道如何进一步尝试和调试) 如果我用@Configuration注释一个类,它确实会被创建,因此我想知道是否可以使用该类的构造函数来执行该设置操作(调用第三方设置

作为SpringMVC初始化的一部分,我需要运行一次操作(只是在第三方库上调用一个方法)作为设置操作。我在SpringMVC环境中工作,在那里我无法真正控制web.xml或任何东西,因此我无法添加servlet上下文侦听器或任何东西。我试图实现一个
WebApplicationInitializer
,但它似乎从未被调用(不知道为什么,也不知道如何进一步尝试和调试)

如果我用
@Configuration
注释一个类,它确实会被创建,因此我想知道是否可以使用该类的构造函数来执行该设置操作(调用第三方设置方法)。这样做合适/安全吗?这类事情还有其他选择吗?我是春天的新手,所以我可能只是错过了这类事情的意义


谢谢

配置类将是包含一些初始化逻辑的合适位置。例如,如果您实现了接口,您可以将其放置在构造函数中,方法用
@PostConstruct
afterPropertiesSet()注释。不同之处在于,构造函数代码将在实例化配置类中的bean之前被调用,因此如果您的初始化代码依赖于某些SpringBean,请使用
@PostConstruct
/
InitializingBean
方法

例如:

@Configuration
public class Config {
    @PostConstruct
    public void initialize() {
        // Run some action
    }
}

您可以在@Configuration注释类中声明@Autowired init()方法,并在该方法中执行任何初始化操作。您的第三方库似乎脱离了Spring环境,这可能是您面临的问题。当我这样做时,我在控制台中得到以下警告:
警告:自动连线注释应用于具有实际参数的方法
是否有关于自动连线
init
方法的特定文档?我不确定为什么会出现警告,但您肯定实现了@Bohuslav的解决方案。