51自学网官方网站,网络推广经验交流,wordpress付费阅读文章功能,咸阳做网站xymokj如果一个十来年的ssh项目想使用springboot的便捷性#xff0c;但又不想从零开始#xff0c;那么就让我们开始迁移吧。在pom文件添加springboot 依赖创建application 启动类迁移web.xmlweb.xml文件中定义了filter, struts2等等一堆filter, 这时我们需要做的一件事是在springbo…如果一个十来年的ssh项目想使用springboot的便捷性但又不想从零开始那么就让我们开始迁移吧。在pom文件添加springboot 依赖创建application 启动类迁移web.xmlweb.xml文件中定义了filter, struts2等等一堆filter, 这时我们需要做的一件事是在springboot中使我们的filter, struts2 能正常work。 这样就不需要我们改变项目中已经定义好的大量的action、controller层代码.//声明当前类为一个配置类Configuration//自动扫描包路径ComponentScan({com.demo.action, com.demo.utilcom.demo.security})//引入之前已经存在的配置文件ImportResource(locations {classpath:applicationContext-configuration.xml,classpath:applicationContext-orm.xml,classpath:applicationContext-business.xml,classpath:ApplicationContext-RabbitMQ.xml,classpath:applicationContext-security-authorization.xml,})public class ApplicationConfig {private static final Logger log LoggerFactory.getLogger(ApplicationConfig.class);private LogRequestFilter logRequestFilter new LogRequestFilter();private StrutsPrepareAndExecuteFilter strutsPrepareAndExecuteFilter new StrutsPrepareAndExecuteFilter(); //springboot启动时初始化struts2拦截器BeanOrder(1)public FilterRegistrationBean loginFilter() {/** * LoginFilter* com.demo.servlet.LoginFilter** * LoginFilter* /login/** /login.html**/FilterRegistrationBean registrationBean new FilterRegistrationBean();registrationBean.setFilter(new LoginFilter());//注册拦截filterregistrationBean.addUrlPatterns(/login/*, /login.html);//拦截路径return registrationBean;}BeanOrder(2)public FilterRegistrationBean strutsPrepareAndExecuteFilter() {/** * struts2* org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter** * struts2* /*** * struts2* FORWARD**/log.debug(Instantiating StrutsPrepareAndExecuteFilter);FilterRegistrationBean registrationBean new FilterRegistrationBean();registrationBean.setFilter(strutsPrepareAndExecuteFilter);//注册Struts2拦截器registrationBean.setName(StrutsPrepareAndExecuteFilter);registrationBean.addUrlPatterns(/*);//默认拦截所有请求return registrationBean;}}通过以上code, 我们已经将web.xml的配置完全迁移这时我们通过springboot 已经可以开始启动项目了。当然在springboot中使用Struts2是不合理的也是官方不支持使用的 后续的工作我们可以逐步整合hiberante, springsecurity,最后将Struts2替换成springmvc. 慢慢减少我们的配置文件。(1)FilterRegistrationBean: spring 对filter 拦截器的一个注册类 自带setorder方法 [email protected]动和拦截的优先级。(2)Order 控制filter的启动和拦截的优先级。(3)Bean注解用于告诉方法产生一个Bean对象然后这个Bean对象交给Spring管理。产生这个Bean对象的方法Spring只会调用一次随后这个Spring将会将这个Bean对象放在自己的IOC容器中。(4) StrutsPrepareAndExecuteFilter 这个类就不多说了相信大部分使用struts2的小伙伴都知道这是struts2的启动类(5) ImportResource等同于xml配置。参考https://blog.csdn.net/jiaobuchong/article/details/50530027(6)Configuration 用于定义配置类可替换xml配置文件[email protected]法这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描并用于构建bean定义初始化Spring容器。参考 https://blog.csdn.net/qq_35981283/article/details/77826537https://www.jianshu.com/p/3bd687e9d1e7springboot 系列教程https://blog.csdn.net/softwave/article/details/77152373