介绍:
上篇给大家介绍了ssm多模块项目的搭建,在搭建过程中spring整合springmvc和mybatis时会有很多的东西需要我们进行配置,这样不仅浪费了时间,也比较容易出错,由于这样问题的产生,Pivotal团队提供了一款全新的框架,该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
特点:
1. 创建独立的Spring应用程序
2. 嵌入的Tomcat,无需部署WAR文件
3. 简化Maven配置
4. 自动配置Spring
5. 提供生产就绪型功能,如指标,健康检查和外部配置
6. 绝对没有代码生成和对XML没有要求配置
(以上大部分内容摘自百度百科)
ok,关于springboot的讲解就到这里大家想了解的更详细可以自行百度。
搭建springboot项目我推荐大家用idea或者sts(spring tool suite spring公司自己研发的一款编辑器),我现在用的是idea,所以接下来我是用idea搭建项目的
一、创建项目
填写完Group和Atrifact后点击下一步,这里我选择的是jar,因为官方文档推荐的是打包成JAR,所以这里就不过多解释了。
这里勾选上web
这里勾选上MySQL、JDBC和Mybatis点击下一步
这里输入项目名和项目路径后点击完成
这是新建完成后的项目结构
二、添加pom.xml依赖
因为springboot不推荐使用jsp做页面,如果想要使用就必需的添加jsp的依赖
4.0.0 com.chaoqi springboot_demo20.0.1-SNAPSHOT jar springboot_demo2 Demo project for Spring Boot org.springframework.boot spring-boot-starter-parent2.0.0.RELEASE UTF-8 UTF-8 1.8 org.springframework.boot spring-boot-starter-jdbcorg.springframework.boot spring-boot-starter-weborg.mybatis.spring.boot mybatis-spring-boot-starter1.3.2 mysql mysql-connector-javaruntime org.springframework.boot spring-boot-starter-testtest org.springframework.boot spring-boot-starter-tomcatorg.apache.tomcat.embed tomcat-embed-jasperorg.springframework.boot spring-boot-maven-plugin
三、springboot整合springmvc
因为在创建项目的时候我们选择了mybatis和jdbc所以在这里也要把他们两也给配置进去
编辑application.properties
# 页面默认前缀目录
spring.mvc.view.prefix=/WEB-INF/jsp/
# 响应页面默认后缀
spring.mvc.view.suffix=.jsp
#开发配置
spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.datasource.url = jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8
spring.datasource.username = root
spring.datasource.password = 123456
# mybatis接口文件位置
mybatis.mapper-locations: classpath:mapper
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getSingerName() {
return singerName;
}
public void setSingerName(String singerName) {
this.singerName = singerName == null ? null : singerName.trim();
}
public String getMusicSize() {
return musicSize;
}
public void setMusicSize(String musicSize) {
this.musicSize = musicSize == null ? null : musicSize.trim();
}
public String getMusicName() {
return musicName;
}
public void setMusicName(String musicName) {
this.musicName = musicName == null ? null : musicName.trim();
}
@Override
public String toString() {
return "MusicInfo{" +
"id=" + id +
", singerName='" + singerName + ''' +
", musicSize='" + musicSize + ''' +
", musicName='" + musicName + ''' +
'}';
}
}
创建mapper.xml
创建mapper
package com.chaoqi.springboot_test.dao.mapper;
import com.chaoqi.springboot_test.dao.domain.MusicInfo;
import org.apache.ibatis.annotations.ResultMap;
import org.apache.ibatis.annotations.Select;
import java.util.List;
public interface MusicInfoMapper {
@ResultMap("baseResultMap")
@Select("select * from music_info")
List selectAll(MusicInfo musicInfo);
}
service接口
package com.chaoqi.springboot_test.service;
import com.chaoqi.springboot_test.dao.domain.MusicInfo;
import java.util.List;
public interface MusicInfoService {
public List getMusicInfo(MusicInfo musicInfo);
}
service实现类
package com.chaoqi.springboot_test.service.impl;
import com.chaoqi.springboot_test.dao.domain.MusicInfo;
import com.chaoqi.springboot_test.dao.mapper.MusicInfoMapper;
import com.chaoqi.springboot_test.service.MusicInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class MusicInfoServiceImpl implements MusicInfoService {
@Autowired
private MusicInfoMapper musicInfoMapper;
@Override
public List getMusicInfo(MusicInfo musicInfo) {
List musicInfos = musicInfoMapper.selectAll(null);
return musicInfos;
}
}
创建完成后的结构如下
编辑indexController
package com.chaoqi.springboot_test.web;
import com.chaoqi.springboot_test.dao.domain.MusicInfo;
import com.chaoqi.springboot_test.service.MusicInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
@Controller
public class IndexController {
private static final String INDEX = "index";
@Autowired
private MusicInfoService musicInfoService;
@RequestMapping("/show")
public String getIndex() {
return INDEX;
}
@RequestMapping("/music")
@ResponseBody
public List getMusicInfo(MusicInfo musicInfo) {
List musicInfoList = musicInfoService.getMusicInfo(null);
return musicInfoList;
}
}
给SpringbootTestApplication类加上注解@MapperScan("com.chaoqi.springboot_test.dao.mapper")
package com.chaoqi.springboot_test;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@MapperScan("com.chaoqi.springboot_test.dao.mapper")
public class SpringbootTestApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootTestApplication.class, args);
}
}
运行项目,成功,springboot+springmvc+mybatis整合完成(源码下载地址)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。



