本文的目的是把以前的ssm项目改造成基于springboot搭建的。
以前的ssm项目在SSM(SPRING,SPRINGMVC,MYBATIS)整合的MAVEN单工程(上) http://www.cnblogs.com/yuanjava/p/6748956.html 文章里
1.新增maven工程 springboot_ssm
2 .把原有的 pom依赖拷贝到新的pom里 增加
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.1.RELEASE</version>
</parent>
依赖增加
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
3. 把原来的java代码
拷贝到新工程里
4. 处理配置文件
a. 与springmvc 的整合
把webapp
里的内容拷贝到新工程里
因为是springboot ,所以不需要web.xml,删除web.xml。同时lxsDispatcherServlet-servlet.xml改造成springboot方式同时在新工程里删除,
最后新工程的webapp结构如下(去掉了web.xml和lxsDispatcherServlet-servlet.xml)
lxsDispatcherServlet-servlet.xml的内容改造
视图解析器在主应用开启自动配置后,会去加载对应的springmvc需要的类,其中InternalResourceViewResolver会自动加载到容器里,我们只需要在全局配置文件里配置前缀和后缀,在resources下新增全局配置文件application.properties
增加如下两行(注意不同的版本,低版本的不用.mvc)
b.与mybatis的整合
主要是配置文件applicationContext.xml的改造
数据源改造
改造新增对应的配置类MybatisConfig 和MapperScannerConfig
c. 创建启动类 HelloBoot
@SpringBootApplication:Spring Boot项目的核心注解,主要目的是开启自动配置
@Configuration:这是一个配置Spring的配置类
@PropertySource 用来注入配置文件
@ComponentScan 用来配置扫描包
流程就是当 运行main方法时,会去找运行的Helloboot,然后在Helloboot上发现对应的这些注解。最重要的是 SpringBootApplication注解。这是一个组合注解,里面有个@EnableAutoConfiguration,会根据pom.xml配置的去自动配置对应的类,主要是META-INF/spring.factories文件,将该配置文件中的配置载入到Spring容器,其中需要的参数如果需要重新修改在全局配置文件里修改。如刚才的前缀和后缀。
如可以修改tomcat启动的端口号和增加应用根
至此,原来的ssm改造成 springboot 的方式了
运行
访问http://localhost:8011/springboot_ssm/index.jsp
此时 jsp 会变成下载 而不能访问
因为内嵌的tamcat是不支持jsp页面的,所有需要导入额外的包才能解决
在pom.xml 里增加
重新运行 main
结果和 ssm工程运行的结果是一样的
最后贴上目录