1、搭建一个SpringMVC项目

进入官网在线搭建项目原始jar包   https://start.spring.io/

spring boot修改maven的依赖下载地址 maven项目改为springboot_jar包

在选择的Jar包中,一般包括三部分

web部分—— 包含了Spring 、Springboot等常用的web开发必须jar包

spring提供的工具类部分(devTool),这个用于热部署效果

数据库部分—— springboot自动可以帮你继承各种数据库框架,这里以mybatis为例

第二步、下载项目并导入IDE,推荐IntelliJ IDEA开发工具

解压后得到项目文件,然后打开idea,找到File-Open-选择项目文件路径,以project形式打开

第三步、打开项目之后,maven 会加载必须的jar包,当项目构建完成之后,你会看到下面这样的典型maven目录结构:

spring boot修改maven的依赖下载地址 maven项目改为springboot_springboot_02

HelloSpringbootApplication是整个项目的入口,我们启动项目不再是启动tomcat,而是运行这个类,

这个类的main方法就是整个项目的main方法即执行入口,

第四步,写demo了。新建一个package demo,然后新建一个类HelloSpringBoot,写入以下代码

@RestController        //当其他类要通过spring引用该类时,第一步就算要将该类注册到spring中,@RestController就是相当于这个类注册到spring容器的意思
public class HelloSpringBoot {
    @RequestMapping(path = {"/helloSpringBoot"})        //通过设置@RequestMapping这个注解里面        的path属性,可以声明相对于项目的根路径的访问路径
    public String HelloSpring (){
        System.out.println("hello spring boot");
        return "hello spring boot";
    }
}

  在启动网站前,由于spring boot 是默认自动注册加载数据库相关的类文件的,所以为了不报错,我们需要打开数据库并在resource目录下的application.property中加入数据库配置相关文件,这里以mysql为例子,配置文件如下:

spring.datasource.url=jdbc:mysql://localhost:3306/wenda?useUnicode=true&characterEncoding=utf8&useSSL=false
spring.datasource.username=root
spring.datasource.password=root

  当然,如果没有安装数据库,也可以在HelloSpringbootApplication 类中利用exclude属性声明不自动注册加载数据库相关文件,具体参考下面的代码:

@SpringBootApplication(exclude={DataSourceAutoConfiguration.class,MybatisAutoConfiguration.class})
        //这里的MybatisAutoConfiguration.class对应你的数据库框架public class HelloSpringbootApplication {
        public static void main(String[] args) {
            SpringApplication.run(HelloSpringbootApplication.class, args);
    }
}

  然后,我们所有的工作就完成了,可以启动网站了,见证奇迹的时候到了。

  找到 HelloSpringbootApplication类,双击打卡,右击鼠标,run,然后项目就启动了

spring boot修改maven的依赖下载地址 maven项目改为springboot_spring_03

  启动网站之后,输入http://localhost:8080/helloSpringBoot即可访问对应的方法。浏览器以及idea后台效果如图

spring boot修改maven的依赖下载地址 maven项目改为springboot_spring_04

spring boot修改maven的依赖下载地址 maven项目改为springboot_spring_05

2、spring boot 项目中利用springMVC实现传参

  上面的demo中的方法只是一个非常简单的实例,在实际生产中, 我们的应用不可能这么简单的,前端还需要传输参数到后台,所以,用spring boot 构造的项目中,又如何实现传参呢?具体请参开下面代码例子:

@RestController
public class HelloSpringBoot {/**
* url传参,访问的路径类似这样:localhost:8080/getParamDemo1/1
* 方法体中的参数要在前面加注释,@PathVariable,代表url中的参数
*/
    @RequestMapping(path = {"/getParamDemo1/{id}"})
    public String getParamDemo1 (@PathVariable("id") int userId){
        System.out.println("get param " + userId);
        return "success get paramDemo1";
}
/**
* 当然,你也可以通过这种传参方式:localhost:8080/getParamDemo2?param1=1或者直接表单提交参数
* 当然,同时方法中参数声明的注释也要变成@RequestParam,代表请求参数,required属性说明了参数是否是必须的
*/
    @RequestMapping(path = {"/getParamDemo2"})
    public String getParamDemo2 (@RequestParam(value="param2",required = false) int param){
        System.out.println("get param " + param);
        return "success get paramDemo2";
    }
}

  

spring boot修改maven的依赖下载地址 maven项目改为springboot_spring_06

spring boot中配置数据库框架(以mybatis为例子)

  在spring boot中集成数据库相关的开源框架也是很方便的(当然,记得在一开始新建项目的时候引用相关的jar包),当你上面的步骤都没什么错误的时候,你只需要简单地配置下applocation.properties文件即可

spring.datasource.url=jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=utf8&useSSL=false
spring.datasource.username=root
spring.datasource.password=root
#下面这条配置声明了mybatis的配置文件路径,classpath对应的是和这个文件统计的resources
mybatis.config-location=classpath:mybatis-config.xml

  目录的文件结构参考下面截图:

spring boot修改maven的依赖下载地址 maven项目改为springboot_数据库_07

  ok,mybatis 的引用配置便弄好了,下面我们尝试利用mybatis 这个数据库框架,进行一个数据库的简单查询操作,首先,看下面的mybatis-config.xml的配置内容,读者可以以这个为模板进行配置,当然,想了解更具体的mybatis配置说明,建议去官网看看,这里不展开了:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <settings>
        <!-- Globally enables or disables any caches configured in any mapper under this configuration -->
        <setting name="cacheEnabled" value="true"/>
        <!-- Sets the number of seconds the driver will wait for a response from the database -->
        <setting name="defaultStatementTimeout" value="3000"/>
        <!-- Enables automatic mapping from classic database column names A_COLUMN to camel case classic Java property names aColumn -->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
        <!-- Allows JDBC support for generated keys. A compatible driver is required.
This setting forces generated keys to be used if set to true,
as some drivers deny compatibility but still work -->
        <setting name="useGeneratedKeys" value="true"/>
    </settings>
    <!-- Continue going here -->
</configuration>

  恩,然后,就可以进行数据库的操作了,我简单用mysql建了个名字为springboot的数据库,在库里面建了一个简单的demo表,dao代码如下:

@Mapper
public interface DemoDao {
    @Select({"select demo_param from demo "})
    String queryDemo();
}

        注意,mybatis 的dao是一个接口,关于mybatis更多的内容,请读者参开官方文档,这里不展开了。

  然后,就在原来的ServiceDemo类中调用一下吧,代码看下图:

import org.springframework.beans.factory.annotation.Autowired;
importorg.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;
import springboot.hello.helloSpringboot.dao.DemoDao;

@Component
public class ServiceDemo {
    DemoDao demoDao;
    public String testDemo(){
        String rtnAfterDosomething = "我是返回结果";
        //这里是业务代码
        return rtnAfterDosomething;
    }
    public String queryDemo(){
        return demoDao.queryDemo();
    }
}

ok,简单写个测试类,出现小绿条,测试成功。