Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.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
Google app engine 如何使用SpringMVC注释创建xml配置文件?_Google App Engine_Spring Mvc_Configuration_Annotations - Fatal编程技术网

Google app engine 如何使用SpringMVC注释创建xml配置文件?

Google app engine 如何使用SpringMVC注释创建xml配置文件?,google-app-engine,spring-mvc,configuration,annotations,Google App Engine,Spring Mvc,Configuration,Annotations,由于Google App Engine会定期启动和停止实例,这意味着会定期产生冷启动时间,因此我想使用XML配置我的Spring MVC3应用程序,以避免在新实例启动时使用注释配置扫描类文件以查找注释所造成的3-5秒延迟 但是,编写xml有点繁琐,使用注释来定义配置要容易得多。因此,我希望两者兼而有之,使用注释生成配置文件,然后在运行时关闭扫描。从目前来看,似乎没有任何现有的工具可以做到这一点 那么,最好的方法是什么呢?假设有一个类在运行时在spring中进行扫描,该类可以在设计时重新分配扫描,

由于Google App Engine会定期启动和停止实例,这意味着会定期产生冷启动时间,因此我想使用XML配置我的Spring MVC3应用程序,以避免在新实例启动时使用注释配置扫描类文件以查找注释所造成的3-5秒延迟

但是,编写xml有点繁琐,使用注释来定义配置要容易得多。因此,我希望两者兼而有之,使用注释生成配置文件,然后在运行时关闭扫描。从目前来看,似乎没有任何现有的工具可以做到这一点

那么,最好的方法是什么呢?假设有一个类在运行时在spring中进行扫描,该类可以在设计时重新分配扫描,然后吐出xml


在xml配置中无法通过注释配置完成的事情是否有任何限制?

我会使用Spring扫描包含注释类的包,然后使用反射获取类及其方法上的注释,并相应地编写XML

在Spring中执行扫描的类是
ClassPathScanningCandidateComponentProvider
。下面是如何使用它的代码片段:

ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider(false);
scanner.addIncludeFilter(new AnnotationTypeFilter(Component.class)); 
for(String packageToScan : packagesToScan) {
    for (BeanDefinition bd : scanner.findCandidateComponents(packageToScan)) {
        Class clazz = Class.forName(bd.getBeanClassName());
        // Use reflection on clazz to write the XML file
    }
}

我希望这有帮助

谢谢你,菲利克斯。我希望有一个类,它实际上已经扫描了所有正确的注释,并生成了一些对象,这些对象也是通过解析xml生成的,我将能够获取注释扫描版本的结果,并将其对象转换为满足xml版本要求的xml。不过,我会看看你建议的课程,看看它能给我带来什么。看起来
ClassPathBeanDefinitionScanner
可能会给我想要的东西。你是对的,这看起来更准确。谢谢你的信息。