Spring Boot 简介、注解解释、整合Mybatis

本文详细介绍SpringBoot框架特点及核心注解,演示如何利用SpringBoot简化配置,快速搭建Mybatis环境,包括项目结构、依赖配置、实体类、Mapper、Service、Controller及引导类的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、Spring Boot 

从字面理解,Boot是引导的意思,因此SpringBoot帮助开发者快速搭建Spring框架;

SpringBoot是一个微框架,一种全新的编程规范,他的产生简化了框架的使用,所谓简化是指简化了Spring众多框架中所需的大量且繁琐的配置文件,所以 SpringBoot是一个服务于框架的框架,服务范围是简化配置文件。

2、Spring Boot的特点

(1)快速开发spring应用的框架

(2)一般引入启动器即可

(3)基于注解的零配置思想

(4) 整合各种框架

3、核心注解

@SpringBootApplication:

申明让spring boot自动给程序进行必要的配置,这个配置等同于:@Configuration ,@EnableAutoConfiguration 和 @ComponentScan 三个配置。

@ComponentScan:

让spring Boot扫描到Configuration类。

@Configuration:

等同于spring的XML配置文件;使用Java代码可以检查类型安全。

@EnableAutoConfiguration:

自动配置。

@Bean:

用@Bean标注方法等价于XML中配置的bean。

@ConfigurationProperties

是springboot提供读取配置文件的一个注解。

4、整合Mybatis

项目结构

4-1 pom文件

<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>2.0.0</version>
</dependency>

<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
</dependency>
<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.10</version>
</dependency>





4-2  数据库

4-3   application.yml 与application-dev.xml

application.yml

spring:
  profiles:
    active: dev

#    在Spring Boot中多环境配置文件名需要满足application-{profile}.yml的格式,其中{profile}对应你的环境标识,比如:
#    application-dev.yml:开发环境
#    application-test.yml:测试环境
#    application-prod.yml:生产环境
#    至于哪个具体的配置文件会被加载,需要在application.yml文件中通过spring.profiles.active属性来设置,其值对应{profile}值。

application-dev.xml

spring:
  datasource:
    username: root
    password: root
    url: jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
    driver-class-name: com.mysql.cj.jdbc.Driver
  mvc:
    view:
      prefix:

mybatis:
  #  mapper-locations: classpath:mapping/*Mapper.xml  #路径名称要与UserMapper.xml一样
  type-aliases-package: com.example.demo.entity  #路径名称要与User类一样

#showSql
logging:
  level:
    com:
      example:
        mapper : debug

4-4 entity ----User类

public class User {

    private Integer id;
    private String userName;
    private String passWord;
    private String realName;

    public Integer getId() {
        return id;
    }

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

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassWord() {
        return passWord;
    }

    public void setPassWord(String passWord) {
        this.passWord = passWord;
    }

    public String getRealName() {
        return realName;
    }

    public void setRealName(String realName) {
        this.realName = realName;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", userName='" + userName + '\'' +
                ", passWord='" + passWord + '\'' +
                ", realName='" + realName + '\'' +
                '}';
    }
}

4---5 mapper - -Usermapper类

@Mapper
//@Repository
public interface UserMapper {

        @Select(" select * from test where id = #{id}")
        User getUser(int id);

}

4--6  service -- UserService类

@Service
public class UserService {
    @Autowired
    UserMapper userMapper;  // 此时会报错  是因为spring并不识别@mapper类  但无关 

    public User getUser(int id){

        return userMapper.getUser(id);
    }
}

4--7 Controller --- UserController类


@RestController
@RequestMapping("testBoot")
public class UserController {

    @Autowired
    private UserService userService;

    @RequestMapping("getUser/{id}")
    public String getUser(@PathVariable int id){

        return userService.getUser(id).toString();
    }
}

4---8引导类


@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
        System.out.println("success");
    }

}

访问

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值