Aks*_*wla 5 spring spring-mvc websphere-8
我有一个spring mvc项目.我正在尝试在IBM Websphere 8.5.5.2上部署此项目
我为项目构建了一个战争,并使用管理控制台将其部署在Websphere上
我正在使用基于Java的配置.我正在使用AbstractAnnotationConfigDispatcherServletInitializer和WebMvcConfigurerAdapter类进行配置.
但是当我部署应用程序时,我基于控制台获得以下内容: 在类路径上没有检测到Spring Webapplicationinitializer类型
并且不会触发弹簧初始化.
我的代码如下
@EnableWebMvc
@Configuration
@ComponentScan({ "com.demo" })
public class SpringWebConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
}
@Bean
public InternalResourceViewResolver viewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setViewClass(JstlView.class);
viewResolver.setPrefix("/WEB-INF/jsp/");
viewResolver.setSuffix(".jsp");
return viewResolver;
}
}
Run Code Online (Sandbox Code Playgroud)
public class MyWebInitializer extends
AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[] { };
}
@Override
protected String[] getServletMappings() {
return new String[] { "/" };
}
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[] { SpringWebConfig.class };
}
}
Run Code Online (Sandbox Code Playgroud)
@Controller
public class HelloController {
@RequestMapping(value = "/qwerty", method = RequestMethod.GET)
public String printWelcome() {
return "qwerty";
}
}
Run Code Online (Sandbox Code Playgroud)
提前致谢 :)
小智 -1
我的猜测(我没有尝试过)是,您依赖 @Configuration 和 @ComponentScan({ "com.demo" }) 来扫描 Spring 应用程序的注释。当您将应用程序作为 war 文件运行时,这不会神奇地发生。
具体来说,从下面的文档中,您缺少一个 SpringBootServletInitializer ,它定义了一个配置方法来告诉支持容器需要扫描哪些类以查找注释:
华泰
| 归档时间: |
|
| 查看次数: |
772 次 |
| 最近记录: |