小飞知识库 | YeLu🤠MiLu🤪 小飞知识库 | YeLu🤠MiLu🤪
  • 函数式编程
  • Spring
  • SpringMVC
  • SpringBoot
  • SpringCloud
  • Mybatis
  • JVM
  • JUC并发编程
  • 设计模式
  • 单元测试
  • Redis
  • RabbitMQ
  • mysql
  • oracle
  • linux
  • nginx
  • docker
  • elasticSearch
  • windows
  • 虚拟机
  • 监控系统
  • https
  • 内网穿透
  • 前端文章

    • JavaScript
  • 页面

    • HTML
    • CSS
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • TypeScript
    • JS设计模式总结
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 版本管理

    • Git笔记
  • 项目构建

    • maven
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
  • JAR包相关
  • 关于
  • 收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

YeLu

爱技术的YeLu🤠
  • 函数式编程
  • Spring
  • SpringMVC
  • SpringBoot
  • SpringCloud
  • Mybatis
  • JVM
  • JUC并发编程
  • 设计模式
  • 单元测试
  • Redis
  • RabbitMQ
  • mysql
  • oracle
  • linux
  • nginx
  • docker
  • elasticSearch
  • windows
  • 虚拟机
  • 监控系统
  • https
  • 内网穿透
  • 前端文章

    • JavaScript
  • 页面

    • HTML
    • CSS
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • TypeScript
    • JS设计模式总结
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 版本管理

    • Git笔记
  • 项目构建

    • maven
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
  • JAR包相关
  • 关于
  • 收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 函数式编程

  • spring

  • springMVC

  • springCloud

  • jvm

  • JUC并发编程

  • mybatis

  • 设计模式

  • 📒springBoot

    • springboot介绍

      • springboot介绍
        • 1、SpringBoot是什么
        • 2、SpringBoot能干什么
        • 3、SpringBoot的第一个HelloWorld程序
          • 3.1、给这个项目整个爹
          • 3.2、导入Web的场景
          • 3.3、编写测试文件
          • 3.4、通过main程序直接启动
          • 3.5、使用IDEA完成项目的构建
          • 3.5.1、创建Spring initlizer的项目
          • 3.5.2、填写项目的基本信息
          • 3.5.3、选择自己喜欢的场景
          • 3.5.4、完成项目
          • 3.6、实际开发编写springboot工程
          • 3.6.1、根包下创建应用的启动程序
          • 3.6.2、根包下创建包config
          • 3.6.3、根包下创建 controller | service | mapper等
          • 3.6.4、Controller的代码如下
          • 3.6.5、Service的代码如下
          • 3.6.6、AppConfig的内容如下
      • 全局配置问题
      • Starter POM
      • 常规的Web配置
      • 自动配置示例
      • 研究下yaml格式的语法
      • 开发模式
    • springboot源码分析

    • springboot整合三方框架

    • 📒实用干货

  • 单元测试

  • java
  • 📒springBoot
  • springboot介绍
YeLu🤠
2024-12-25
目录

springboot介绍

回顾Java编写配置文件

Spring中Java编写配置是从 3.x的版本的出来

1.x版本的时候 提供了使用xml来编写配置文件

2.x版本的时候 提供了使用注解来编写配置文件

3.x版本的时候就提出了使用 Java来编写配置文件

//@Configuration
//@PropertySource()          //这是引入外部的properties文件
//@ImportResource({})          //引入外部的xml的配置文件
//@ComponentScan(basePackages = {""})   //扫描的包的路径
public class AppConfig {
       @Value("${key}")
       public String aa;
       @Bean
       public UserDAO userDAO(){
           return new UserDAO();
       }
}
1
2
3
4
5
6
7
8
9
10
11
12

疑问:为啥Spring使用Java编写配置文件呢?

因为SpringBoot中所有的配置文件都是使用的Java来编写的 如果不会编写的 话基本上源码很多配置都是看不懂的

# 1、SpringBoot是什么

SpringBoot是Spring这个团队开发的一个框架 这个框架的主要作用是为了简化 Spring在整合其他第三方框架的时候编写的配置文件的,说白了就是工具

Springboot:在SpringBoot中 内置了 Spring整合常用框架的所有基本配置 我们在做开发的时候 不用编写 配置文件 或者 只是编写 很少的配置文件 就能够完成整个项目的开发

习惯优于配置

​ 他的意思是说 我们在开发SpringBoot项目的时候 只需要遵从SoringBoot自身提供的这个自动配置的规范 不用自身去编写配置文件

# 2、SpringBoot能干什么

自动实现 导入的第三方框架的配置 说白了 就是能够让你在开发的时候 不用写配置 或者只用写 很少的配置 就能完成 整个项目的开发

# 3、SpringBoot的第一个HelloWorld程序

参考项目:G:\学习资料\java\a-study\springboot\com.xufei.springboot\com-xufei-springboot-01

# 3.1、给这个项目整个爹

   <!--第一步:给这个Web项目整个爹-->
   <parent>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-parent</artifactId>
       <version>2.1.3.RELEASE</version>
   </parent>
1
2
3
4
5
6

# 3.2、导入Web的场景

        <!--导入的是Web的应用场景-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>2.1.3.RELEASE</version>
        </dependency>
1
2
3
4
5
6

# 3.3、编写测试文件

@Configuration
@SpringBootApplication
@RestController
public class UserController {
    
    @RequestMapping("test01")
    public Object test01(){
        return "this is first test";
    }
    
    public static void main(String[] args){
        SpringApplication.run(UserController.class,args);
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# 3.4、通过main程序直接启动

# 3.5、使用IDEA完成项目的构建

# 3.5.1、创建Spring initlizer的项目

# 3.5.2、填写项目的基本信息

# 3.5.3、选择自己喜欢的场景

# 3.5.4、完成项目

# 3.6、实际开发编写springboot工程

参考项目:G:\学习资料\java\a-study\springboot\com.xufei.springboot\com-xf-springboot-02

# 3.6.1、根包下创建应用的启动程序

@SpringBootApplication
public class Application {
    public static void main(String[] args){
        SpringApplication.run(AppConfig.class,args);
    }
}
1
2
3
4
5
6

# 3.6.2、根包下创建包config

# 3.6.3、根包下创建 controller | service | mapper等

# 3.6.4、Controller的代码如下

@RestController
public class UserController {
    @Autowired
    private UserService userService;
    /**
     * 登陆的方法
     * @return
     */
    @RequestMapping("login")
    public Object login(){
        userService.bb();
        return "login success";
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# 3.6.5、Service的代码如下

@Service
public class UserService {

    public void bb(){
        System.out.println("提供自己的b+数");
    }
}
1
2
3
4
5
6
7

# 3.6.6、AppConfig的内容如下

@Configuration
@ComponentScan(basePackages = {"com.xufei.springboot"})  //这个就是Spring的包的扫描
public class AppConfig {
}
1
2
3
4

注意:为什么要将启动程序 放到app的根包下面

是因为 这个启动程序在启动的时候 是需要找到配置文件的 如果放到根包下面 那么程序就会自动的去找 这个application以及application根包下面的所有的类

如果你没有将 这个启动文件放到根包下面 那么就没有办法找到配置文件 找不到配置文件 那么这个程序 也就没有办法 运行

#📒springBoot
最近更新: 2025/07/30, 15:37:56
访问者模式
全局配置问题

← 访问者模式 全局配置问题→

最近更新
01
服务端配置
07-30
02
frp 安装
07-30
03
Prometheus采集Springboot应用
02-20
更多文章>
Theme by Vdoing | Copyright © 2019-2025 | YeLu🤠MiLu🤪 | MIT License 蜀ICP备2024116879号 | 川公网安备51012202001998号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
欢迎你,我的朋友
看板娘