最近到公司实习,被安排了一个活是将一个spring的html5项目改成springboot项目做二次开发,orm用的mybatis,页面Jsp。由于对项目的不熟悉导致产生了很多bug,最后在学长的帮助下终于完成了任务,简单介绍一下我的修改过程。
一、新建一个springboot项目
二、将原来项目的代码都搬进来
三、在pom中添加依赖,可以从原pom文件复制过来,将里面与spring相关的依赖删掉(例如下图中的依赖)
四、在resources的application.properties文件中添加数据库配置和项目访问路径
五、由于视图使用jsp,在src/main下新建webapp文件夹将原项目的视图复制到该文件夹下
六、将原项目和xml配置文件转成注解配置,包括SessionFactory配置、PO对象别名配置(如果有的话)、内部资源视图解析器(页面访问路径)配置等,以下代码可放到启动类或其他类中
@Bean(name = "viewResolver")//视图路径配置
public InternalResourceViewResolver viewResolver() {
InternalResourceViewResolver view = new InternalResourceViewResolver();
view.setPrefix("/WEB-INF/webpage/");//放页面的路径
view.setSuffix("");
view.setViewClass(JstlView.class);
view.setContentType("text/html");
return view;
}
@Bean(name = "xxxDataSource")//数据源配置
@ConfigurationProperties(prefix = "spring.datasource.xxx")//xxx要和server.context-path配置的名称一样
@Primary
public DataSource testDataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name = "xxxSqlSessionFactory")//SqlSessionFactory配置
@Primary
public SqlSessionFactory testSqlSessionFactory(@Qualifier("xxxDataSource") DataSource dataSource) throws Exception {
SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
bean.setDataSource(dataSource);
bean.setConfigLocation(new PathMatchingResourcePatternResolver().getResource("classpath:sqlMapConfig.xml"));//po对象别名的xml文件
bean.setMapperLocations(
new PathMatchingResourcePatternResolver().getResources("classpath:com/xx/xx/mapper/*.xml"));//mapper的xml文件
return bean.getObject();
}
七、在启动类上添加必要的注解,需要根据项目的具体业务需求,比如我们的项目原有定时调度任务,一开始不知道没有添加@EnableScheduling注解,导致项目出问题找了好久才解决
完事了