全网最细手把手教你SpringBoot入门与整合应用!!!

巨巨巨详细巨巨巨实用!!!
铁汁们在MVC开发中总会有恶心的配置搞心态,搞配置可能有时候要搞半天,对于这种那不如直接就了解一手spring boot去搂它,直接进行配置整合岂不快哉!!!
废话不多说看完这篇文章保证会用spring boot进行Java入门开发!!!

并且mybatis整合简洁且实用!!!
在这里插入图片描述

来搂它铁子们!!!

第一节:spring boot快速入门

快速构建springboot

首先我们打开idea新建项目,选择构建项目类型
选择构建项目类型
之后点击下一步
在这里插入图片描述
指定spring boot版本以及所需依赖
在这里插入图片描述
点击next进行生产项目,在pom.xml中导入springboot依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
</dependency>
<!-- 将上述内容修改为下面的效果 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

在application.yml中设置端口号

server:
  port: 8080

这样我们一个基础spring boot框架搭建完成!!!
那么我们写一个controller来测试一下吧!!!

@RestController
public class TestController {

    @GetMapping("/test")
    public String test(){
        return "Hello SpringBoot!";
    }

}

点击启动类进行运行,出现下面这个效果那么恭喜你铁子最最最基础架构搭建成功了!!!
在这里插入图片描述
那么下面让我们来了解一下spring boot一些目录结构吧!!!
在这里插入图片描述

spring boot的目录结构

pom.xml文件

  • 指定了一个父工程: 指定当前工程为SpringBoot,帮助我们声明了starter依赖的版本。
  • 项目的元数据:包名,项目名,版本号。
  • 指定了properties信息:指定了java的版本为1.8
  • 导入依赖:默认情况导入spring-boot-starter,spring-boot-starter-test
  • 插件:spring-boot-maven-plugin
    gitignore文件
  • 默认帮我们忽略了一些文件和目录,避免提交到Git仓库中
    src目录
-src
  -main	  
    -java
      -包名
        启动类.java			# 需要将controller类,放在启动类的子包中或者同级包下
    -resources
      -static				  # 存放静态资源的
      -templates			   # 存储模板页面的
      application.properties	 # SpringBoot提供的唯一的配置文件
  -test   				      # 只是为了测试用的

以上呢大致就是spring boot中所必须的项目目录我们大致了解一下即可!
下面开始重点知识,铁子们要注意了!!!

第二节:springboot常用注解与配置

@Configuration和@Bean

铁子们想必大家之前使用SSM去开发时,在xml文件中编写bean标签,但是我们呢在SpringBoot不推荐去使用xml文件。
也就是!!!
@Configuration注解相当于beans标签
@Bean注解相当于bean标签
id=“方法名 | 注解中的name属性(优先级更高)”
class=“方法的返回结果”

@Configuration   // 代表当前类是一个配置类
public class UserConfig {
    
    
    @Bean(name = "user1")     
    // 构建一个实例,放到spring容器中
    public User user(){
        User user = new User();
        user.setId(1);
        user.setName("张三");
        return user;
    }
    
    /*
    <beans ....>            @Configuration
        <bean id="user1" class="com.qf.firstspringboot.entity.User" />
    </beans>
     */
}

下面我们再来看另外一个注解~~~

@SpringBootApplication

铁子们如果有想法去走Java开发这个方向的这个注解一定一定要牢记,哪怕吧下面这段话背下来也行,这在Java面试中纯粹是高频问题!!!
@SpringBootApplication本质就是一个复合注解:

  • @SpringBootConfiguration就是@Configuration注解,代表启动类就是一个配置类。
  • @EnableAutoConfiguration帮你实现自动装配的,SpringBoot工程启动时,运行一个SpringFactoriesLoader的类,加载META-INF/spring.factories配置类(已经开启的),通过SpringFactoriesLoader中的load方法,以for循环的方式,一个一个加载。
    • 好处:无需编写大量的整合配置信息,只需要按照SpringBoot提供好了约定去整合即可。
    • 坏处:如果说你导入了一个starter依赖,那么你就需要填写他必要的配置信息。
    • 手动关闭自动装配指定内容:@SpringBootApplication(exclude = QuartzAutoConfiguration.class)
  • @ComponentScan就相当于<context:component-scan basePackage=“包名” />,帮助扫描注解的。
    上面这些就是SpringBootApplication精简回答,面试时候可以直接背下来

SpringBoot的配置文件格式

SpringBoot的配置文件支持properties和yml,甚至他还支持json。

更推荐使用yml文件格式:

  1. yml文件,会根据换行和缩进帮助咱们管理配置文件所在位置
  2. yml文件,相比properties更轻量级一些

yml文件的劣势:

  1. 严格遵循换行和缩进
  2. 在填写value时,一定要在: 后面跟上空格

还有集中配置方式比如多环境配置,引入外部文件信息,热加载等等;这些其实对于大家使用不是太多,有想法的可以去搜一搜看一看一些大佬的专题讲解~(简单水一下)
在这里插入图片描述
接下来言归正传!!!来开始上真正入门了!!!

第三节:SpringBoot整合Mybatis

我们呢使用xml的方式进行整合mybatis!
首先导入依赖

<!--        mysql驱动-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

<!--        druid连接-->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.1.10</version>
</dependency>

<!--        mybatis-->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.3.2</version>
</dependency>

导入依赖完成后进行application.yml的配置
这个是连接数据库配置

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql:///你的数据库名称?serverTimezone=Asia/Shanghai
    username: 数据库账号
    password: 数据库密码
    type: com.alibaba.druid.pool.DruidDataSource

之后呢先提前写一个mapper文件配置,我们要把SQL语句写到mapper中

mybatis:
  mapper-locations: classpath:mappers/*.xml  #最好文件名是mappers
  type-aliases-package: com.example.test.entity  #这个其实就是你实体层所在的具体位置

然后还是在application.yml中继续配置Dao层

logging:
  level:
    com.example.test.dao: debug  #这个就是你dao层具体的位置

以上呢我们就完成spring boot的基础配置了!!!
但是!!!别急还有三层架构以及mapper和启动类没搞!(如果你会那就当我扯犊子~~~)
在这里插入图片描述
下面呢我们继续进行Application启动类的配置

@SpringBootApplication
@MapperScan(basePackages = "com.example.test.dao") //这个是你dao层的具体位置
public class MedicalApplication extends WebMvcConfigurationSupport  {

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

上面的dao,entity,mappers之类的我们还没搞但是为了防止大家搞混我建议先写上,下面呢我们去一一解决这些!
那么我们先把三层架构搞好!
就像这样子(这个就是个例子)
在这里插入图片描述

首先是dao层
我们要新建一个dao层,写一个测试类(注意是和你数据库有关的,写一个接口,到时候直接在mapper中结合SQL语句使用);例如:

public interface TestDao { //先随便写一个接口就好
    List<Test> getTest();  
}

下面呢我们在entity中同样去建一个Test的实体类(新建实体类有快捷键alt+insert)

public class Test {
    private Integer id;
    private String bio;

    public Integer getId() {
        return id;
    }

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

    public String getBio() {
        return bio;
    }

    public void setBio(String bio) {
        this.bio = bio;
    }

    @Override
    public String toString() {
        return "tset{" +
                "id=" + id +
                ", bio='" + bio + '\'' +
                '}';
    }
}

之后我们开始去搞mapper了,这个时候大家注意要建在resources中去
在这里插入图片描述
建在这里!!!(文件名称是mappers)
之后我们在mappers中创建文件(不要点击FXML和XML配置文件,就点文件即可!!!)写完文件名之后用.xml结尾

在这里插入图片描述
这样就好了~~~
之后将文件里面的所有都清空了,直接复制下面这段话

<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

这个就是关于mapper的配置大家不用深究,然后我们开始在下面去写mapper

<mapper namespace="com.example.test.dao.TestDao"> 
<!--  这个就是该dao接口的具体位置 -->
    <select id="getTest" resultType="Test">
-- 这个是select语句 注意id必须和方法名相同,resultType为方法的返回类型
        select *
        from test
    </select>
</mapper>

如果铁子们对SQL语句不太懂的话可以看我往期的博客SQL语句汇总
这样呢我们就写好了mapper这个类了,如果大家想添加其他方法可以在dao中在添加几个接口然后在mapper中完善该接口的SQL语句,切记id要与方法名一致!!!
在这里插入图片描述
然后呢我们再去service层中去写一个关于dao中的接口
(保证这个接口调用该dao中的方法即可,其实原理和spring MVC一致)
之后在service层中创建impl文件夹去实现service接口这个我总体举个例子
这个是service的框架(用一个其他的spring boot项目给大家举例)
在这里插入图片描述
之后我们再去看接口
在这里插入图片描述
然后在impl中写出对应它的实现方法

@Service     //service层注释
public class SubscribeServiceImpl implements SubscribeService {
    @Autowired   //调用dao
    SubscribeDao subscribeDao;
    @Override
    public List<Subscribe> getAll() {  //完善方法,这里大家可以写自己想写的相关代码
        return subscribeDao.getAll();
    }
}

这样子呢大家就完成了service层代码的编写了
然后我们再进行最后一步就是写出controller层!!!
我们直接再controller层中新建TestController

@Controller
public class TestController  {
  @Autowired
    TestDao testdao;   //我这里作为示范大家日常使用中切记从service层中调用,确保三层架构合理使用!
     @RequestMapping("/test1")  //用于将任意HTTP 请求映射到控制器方法上
    public String test1() { 
     List<Test> list = testDao.getTest();
            System.out.println("成功!!!");
        return "ok"; //转发到ok.html页面
    }

之后大家可以去运行一下如果控制台有打印成功!!!
那么恭喜铁子们我们mybatis成功融合!!!
————————以上呢就是本篇文章的所有内容了————————
大家如果有不懂的可以私信问我,文章不易铁子们看到这里了点个关注吧~~~
在这里插入图片描述

后续呢我会为大家更新spring boot项目 (ps:完整版且全部免费,不是那种摆烂项目!)
不画大饼一周之内!!!
——————————————铁子们下期见——————————

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
手把手你9个试验:ads入门最好的材》是一本非常实用的材,特别适合那些对ads(Advanced Design System)软件感兴趣的初学者。这本材共包含9个试验项目,通过手把手的方式授ads软件的基本知识和操作技巧。 首先,在材的开始部分,会介绍ads软件的基本概念和安装步骤,帮助读者熟悉软件的界面和功能。 然后,材会引导读者完成一个个具体的试验项目,每个项目都包含详细的步骤和说明。例如,第一个试验项目可能是设计一个简单的放大器电路,授如何使用ads软件进行电路仿真和性能优化。每个试验项目都会涉及到ads的主要功能,如电路设计、仿真分析、参数优化等等。 材通过实践的方式,让读者能够真正理解ads软件的使用方法,并能够灵活应用于实际项目中。同时,材也注重培养读者的自主学习能力,鼓励读者在每个试验的基础上进行更多的拓展和创新。 此外,材还提供了丰富的案例分析,介绍了一些在实际工程中应用ads软件的成功案例,以帮助读者更好地理解软件的实际应用。 总之,《手把手你9个试验:ads入门最好的材》是一本循序渐进、简明易懂的材,适合广大初学者快速入门ads软件。通过学习这本材,读者将能够全面掌握ads的基本原理和操作技巧,并能够独立完成一些基本的电路设计和仿真分析任务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java缝合怪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值