本文的目的是把以前的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工程运行的结果是一样的

 

最后贴上目录