文档章节

Spring-boot 入门实例+mybatis

西二旗之猫
 西二旗之猫
发布于 2017/03/05 12:10
字数 1167
阅读 237
收藏 5

入门级 实例 spring-boot+mybatis

写在前面:

     首先spring-boot 并不是对spring的颠覆 ,她只是提供了一种更为高效敏捷的开发模式,程序员不应该拘泥于繁琐的配置(虽然配置并不一定繁琐),有一种思想是 程序员更应该把精力用在业务逻辑的处理上,至于其他的交给框架去做就好了.

开始

    1.采用maven来构建一个 spring-boot 工程, 如何快速构建一个spring maven 工程,这里我们使用 https://start.spring.io/ 可以快速的可视化的选择我们项目所需要的maven依赖,并且导出为一个 简单的dome工程,如果后续需要其他依赖支持仍然可以在pom文件中添加,

       此处贴出 我的pom文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>test</groupId>
    <artifactId>test</artifactId>
    <version>1.0-SNAPSHOT</version>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.2.RELEASE</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.2.0</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

2  工程项目结构

此处使用 idea 编辑器

3 代码

   spring-boot 用于内置的tomcat 服务器,我只需要通过一个main方法就可以将工程启动起立

正如 传统web工程的起点是 web.xml文件一样,spring-boot的起点是 App.java中的main方法

package com.test;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * Created by FromX on 2017/3/4.
 */
@SpringBootApplication
public class App {

    public static void main(String[] args) throws Exception {
        SpringApplication.run(App.class, args);
    }

}

解释:

      1, App.java的名字随意,符合命名规范即可,注意这个类必须在包的根目录下,因为她的扫描注解和自动配置的功能,只能针对于她下级包中的文件

      2, @SpringBootApplication  这个注解相当于 @ComponentScan(自动扫描包注解相当于配置文件中的 <Context:component-scan>), @Configuration(相当于配置文件中的<beans></beans>),@EnableAutoConfiguration(让spring-boot根据依赖自动配置)

     3. SpringApplication.run(class,args) 就是加载运行整个工程

pojo代码

package com.test.domain;

/**
 * Created by FromX on 2017/3/4.
 */
public class Demo {
        private String name;
        private String id;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }
}

解释:没啥可以解释的 对应一个 数据库表的一个pojo类 ,此处无需任何对应表字段的配置

  controller 代码

package com.test.controller;

import com.test.domain.Demo;
import com.test.service.DemoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * Created by FromX on 2017/3/4.
 */
@RestController
public class TestController {

    @Autowired
    private DemoService demoService;

    @RequestMapping("/testAA")
    public String Test() {
        return "testAAAAA";
    }

    @RequestMapping("/testDemo")
    public Demo testDemo() {
        Demo demo = new Demo();
        demo.setId("1");
        demo.setName("zhazha");
        return demo;
    }

    @RequestMapping("/getDemo")
    public List<Demo> getDemo() {

        List<Demo> list = demoService.getDemo();

        return list;
    }
}

解释:

    1 @restController 相当于 @controller和 @responseBody

    2.无需配置spring mvc 既可

server代码

package com.test.service;

import com.test.domain.Demo;

import java.util.List;

/**
 * Created by FromX on 2017/3/4.
 */
public interface DemoService {
    List<Demo> getDemo();
}
package com.test.service.impl;

import com.test.mapper.DemoMapper;
import com.test.domain.Demo;
import com.test.service.DemoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * Created by FromX on 2017/3/4.
 */
@Service
public class DemoServiceImpl implements DemoService {
    @Autowired
    private DemoMapper demoMapper;

    @Override
    public List<Demo> getDemo() {
        return demoMapper.getDemo();
    }
}

解释: 没啥可解释的,和普通的spring工程写起来没有区别 

Dao 代码

package com.test.mapper;

import com.test.domain.Demo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * Created by FromX on 2017/3/4.
 */
@Mapper
public interface DemoMapper {

    @Select("select *  from Demo")
    List<Demo> getDemo();
}

解释 

       1 , @Mapper 这个注解的意思是说 把此接口对位Mapper映射接口

       2, @Select()  简单的查询语句进行与接口方法的绑订

       3, 我们写在  App.java上的   @SpringBootApplication 注解会自动扫描这些注解 

   必要的配置文件

     肯定会有同学问了 , spring-boot是怎么样和数据库建立的链接的呢  , 想我们以前写的配置文件中的<DataSource>去哪了?  application.xml 没有了 <DataSource>标签肯定也没有了,但是数据库链接属性肯定是要有的

    数据库连接属性配置文件 application.properties 注意 次文件名称必须是 -->application.properties,并且必须放到 resources 文件夹下,因为spring-boot会自动扫描并且加载它

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true
spring.datasource.username=root
spring.datasource.password=root

解释  

  1, 这里的 驱动 url name password 都必须是  spring.datasource.做前缀的,否则也将无法被识别

  2, 必须在 pom文件中添加mybatis的依赖和 mysql的驱动 (详情见pom.xml)

  3,表必须预先建好

页面访问效果

解释 

     1,无需项目名称 ,直接输入 localhost:8080/ + @requestMapping 里面的url即可 携带参数和请求方式同spring mvc 写法一直 返回对象会自动转换格式

源码下载:https://git.oschina.net/z2q_m/spring-boot-mybatis/tree/branch1

最后没有了............  

© 著作权归作者所有

西二旗之猫
粉丝 7
博文 55
码字总数 39413
作品 0
私信 提问
极速上手进阶大神的 5 门 SpringBoot 课程

SpringBoot 因其大大简化了配置。可快速启动一个应用的开发环境,把时间和精力更多的投入到实现业务需求上去。成为了Java 服务器端近几年特别火爆的框架。 如此火爆的技术,怎能不抢先了解一...

实验楼
08/16
0
0
Spring Boot学习资源

Spring Boot 入门 http://blog.csdn.net/isea533/article/details/50278205 ---------------------------------------------------------- Spring Boot 静态资源处理 http://blog.csdn.net/c......

IamOkay
2017/02/17
405
0
mybatisplus-spring-boot-starter 1.0.0 发布

mybatisplus-spring-boot-starter 为 Mybatis-Plus 快速集成 spring-boot 简化配置而生,不在需拿 MyBatis 和 Hibernate相比, mybatis-plus 作为 mybatis 的好拍档补充了它的短板,让 myba...

青苗
2017/05/05
2.2K
14
mybatisplus-spring-boot-starter 1.0.1 发布

mybatisplus-boot-starter 为 mybaits-plus 快速集成 spring-boot 简化配置而生,让您不在为对比 MyBatis 和 Hibernate 而烦恼 mybatis-plus 作为 mybatis 的好拍档补充了它的短板,让 myba...

青苗
2017/05/16
2.4K
4
Spring Boot整合MyBatis学习总结

公司的很多项目都陆陆续续引入了Spring Boot,通过对Spring Boot的接触了解发现其真的是大大地简化了开发、简化了依赖配置,很多功能注解一下就可以实现,真的是太方便了。下面记录了一个Spr...

zhuwensheng
2018/06/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

springboot2.0 maven打包分离lib,resources

springboot将工程打包成jar包后,会出现获取classpath下的文件出现测试环境正常而生产环境文件找不到的问题,这是因为 1、在调试过程中,文件是真实存在于磁盘的某个目录。此时通过获取文件路...

陈俊凯
今天
4
0
BootStrap

一、BootStrap 简洁、直观、强悍的前端开发框架,让web开发更加迅速、简单 中文镜像网站:http://www.bootcss.com 用于开发响应式布局、移动设备优先的WEB项目 1、使用boot 创建文件夹,在文...

wytao1995
今天
9
0
小知识:讲述Linux命令别名与资源文件的区别

别名 别名是命令的快捷方式。为那些需要经常执行,但需要很长时间输入的长命令创建快捷方式很有用。语法是: alias ppp='ping www.baidu.com' 它们并不总是用来缩短长命令。重要的是,你将它...

老孟的Linux私房菜
今天
8
0
《JAVA核心知识》学习笔记(6. Spring 原理)-5

它是一个全面的、企业应用开发一站式的解决方案,贯穿表现层、业务层、持久层。但是 Spring 仍然可以和其他的框架无缝整合。 6.1.1. Spring 特点 6.1.1.1. 轻量级 6.1.1.2. 控制反转 6.1.1....

Shingfi
今天
7
0
Excel导入数据库数据+Excel导入网页数据【实时追踪】

1.Excel导入数据库数据:数据选项卡------>导入数据 2.Excel导入网页数据【实时追踪】:

东方墨天
今天
8
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部