本文介绍怎么把SSM项目改造为Spring Boot项目
0.改造步骤
- 原ssm项目打成jar包
- 将相关配置文件放到resources目录下
- 将前端界面文件放到web目录下
- servlet 、 listener 和 Filter 要注册到容器中
1.Servlet
SSM里使用的Servlet,要注册到容器中
使用ServletRegistrationBean类或者使用注解@WebServlet
@Bean
public ServletRegistrationBean myServlet() {
return new ServletRegistrationBean(new MyServlet, new String[]{"/kjdp_cache"});
}
2.Filter
SSM里使用的Filter,要注册到容器中
使用FilterRegistrationBean类或者使用注解@WebFilter
@Bean
public FilterRegistrationBean encodingFilter() {
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setName("encodingFilter");
registration.setOrder(1);
registration.addUrlPatterns(new String[]{"/*"});
registration.setFilter(new CharacterEncodingFilter());
registration.addInitParameter("encoding", "UTF-8");
return registration;
}
3.Listener
SSM里使用的Filter,要注册到容器中
使用ListenerRegistrationBean类或者使用注解@WebListener
4.自定义启动类注解
可以通过@SpringBootApplication再注解一个自定义启动类注解
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@SpringBootApplication
@ImportResource
public @interface MyBootApplication {
@AliasFor(
annotation = ImportResource.class
)
String[] locations() default {"classpath:conf/spring-application.xml"};
@AliasFor(
annotation = SpringBootApplication.class
)
Class<?>[] exclude() default {DataSourceAutoConfiguration.class};
@AliasFor(
annotation = SpringBootApplication.class
)
String[] excludeName() default {};
@AliasFor(
annotation = SpringBootApplication.class
)
String[] scanBasePackages() default {"com.my.boot"};
@AliasFor(
annotation = SpringBootApplication.class
)
Class<?>[] scanBasePackageClasses() default {};
@AliasFor(
annotation = SpringBootApplication.class
)
boolean proxyBeanMethods() default true;
}
使用上面三个注解的需要在启动类上加一个@ServletComponentScan注解来扫描。
「真诚赞赏,手留余香」
真诚赞赏,手留余香
使用微信扫描二维码完成支付