添加依赖

手动


<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    
    <!--指定了一个父工程,父工程中的东西在该工程中可以继承过来使用-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.0</version>
    </parent>
    <groupId>com.springboot_demo</groupId>
    <artifactId>springboot_01_quickstart</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <!--JDK 的版本-->
    <properties>
        <java.version>8</java.version>
    </properties>
    
    <dependencies>
        <!--该依赖就是我们在创建 SpringBoot 工程勾选的那个 Spring Web 产生的-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </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>

可以使用idea的Spring Initializr,不过好像要专业收费版,但其实它也是调用官网的接口,因此我们可以去官网初始化一个项目

https://spring.io/projects/spring-boot

启动

  • 因为SpringBoot内置了tomcat等模块,打包生成的是jar包
  • 直接使用jar -jar springboot_01_quickstart-0.0.1-SNAPSHOT.jar 启动项目

配置文件

  • 优先级 application.properties > application.yml > application.yaml
  • 假设有这样的配置:
lesson: SpringBoot

server:
  port: 80

enterprise:
  name: demo
  age: 16
  tel: 4006184000
  subject:
    - Java
    - 前端
    - 大数据
  • 使用Environment类读取配置:
@RestController
@RequestMapping("/books")
public class BookController {
    
    @Autowired
    private Environment env;
    
    @GetMapping("/{id}")
    public String getById(@PathVariable Integer id){
        System.out.println(env.getProperty("lesson"));
        // 注意下面两句
        System.out.println(env.getProperty("enterprise.name"));
        System.out.println(env.getProperty("enterprise.subject[0]")); 
        return "hello , spring boot!";
    }
}
  • 可以使用自定义类自动装配enterprise配置:
@Component
@ConfigurationProperties(prefix = "enterprise")  // 注意这
public class Enterprise {
    private String name;
    private int age;
    private String tel;
    private String[] subject;

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getTel() {
        return tel;
    }

    public void setTel(String tel) {
        this.tel = tel;
    }

    public String[] getSubject() {
        return subject;
    }

    public void setSubject(String[] subject) {
        this.subject = subject;
    }

    @Override
    public String toString() {
        return "Enterprise{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", tel='" + tel + '\'' +
                ", subject=" + Arrays.toString(subject) +
                '}';
    }
}
  • 这样可以直接使用
@RestController
@RequestMapping("/books")
public class BookController {
    
    @Autowired
    private Enterprise enterprise;  // 注意这

    @GetMapping("/{id}")
    public String getById(@PathVariable Integer id){
        System.out.println(enterprise.getName());
        System.out.println(enterprise.getAge());
        System.out.println(enterprise.getSubject());
        System.out.println(enterprise.getTel());
        System.out.println(enterprise.getSubject()[0]);
        return "hello , spring boot!";
    }
}

多环境配置

使用yml

  • 使用---间隔
#设置启用的环境
spring:
  profiles:
    active: dev

---
#开发
spring:
  profiles: dev
server:
  port: 80
---
#生产
spring:
  profiles: pro
server:
  port: 81
---
#测试
spring:
  profiles: test
server:
  port: 82
---

使用properties文件

  • SpringBoot 只会默认加载名为 application.properties 的配置文件,所以需要在 application.properties 配置文件中设置启用哪个配置文件,配置如下:
spring.profiles.active=pro
  • 然后创建不同环境的配置文件

    • application-dev.properties
    • application-test.properties
    • application-pro.properties
  • 可以在启动命令中指定配置:

    • java –jar springboot.jar –-spring.profiles.active=test
    • 当然也可以指定其他配置项,比如:–-server.port=88
  • 一般配置文件被打包到了jar包里面,其实配置文件还可以放在jar包外部,并且优先级比内部的还要高,具体如下:
    SpringBoot 中4级配置文件放置位置:

  • 1级:classpath:application.yml
  • 2级:classpath:config/application.yml
  • 3级:file :application.yml
  • 4级:file :config/application.yml

说明:级别越高优先级越高

  • 注意:SpringBoot 2.5.0版本存在一个bug,我们在使用这个版本时,需要在 jar 所在位置的 config 目录下创建一个任意名称的文件夹
posted @ 2025-03-12 22:35 liDB 阅读(2) 评论(0) 推荐(0) 编辑
摘要: SpringMVC开发步骤 添加依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSche 阅读全文
posted @ 2025-03-12 21:59 liDB 阅读(5) 评论(0) 推荐(0) 编辑
摘要: IOC/DI配置管理第三方bean 管理druid数据源 pom.xml引入依赖 <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <v 阅读全文
posted @ 2025-03-09 00:02 liDB 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 添加依赖 <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.2.10.RELEASE</version> </de 阅读全文
posted @ 2025-03-08 20:41 liDB 阅读(2) 评论(0) 推荐(0) 编辑
摘要: AOP AOP(Aspect Oriented Programming)面向切面编程,一种编程范式指,导开发者如何组织程序结构。 作用:在不惊动原始设计的基础上为其进行功能增强,底层使用代理模式实现。 组成 - 连接点JoinPoint:所有方法 - 切入点Pointcut:匹配连接点的表达式 - 阅读全文
posted @ 2025-03-07 20:11 liDB 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 常用命令 登录:psql -U username database 密码相关 密码加密方式有md5、scram-sha-256,新版本默认是scram-sha-256 查看加密方式:show password_encryption; 查看加密方式配置信息:SELECT name,setting,so 阅读全文
posted @ 2025-03-03 23:41 liDB 阅读(11) 评论(0) 推荐(0) 编辑
摘要: admin后台维护模型 创建模型 在应用的admin模块注册模型 admin.site.register(模型类[, 模型管理类]) 可以在根urls模块设置admin.site.site_header等信息,修改后台显示的系统名称 模型admin类 在应用admin模块为模型类创建对应的模型管理类 阅读全文
posted @ 2025-02-14 11:28 liDB 阅读(4) 评论(0) 推荐(0) 编辑
摘要: ## 参考 - 从基础到高级应用,详解用Python实现容器化和微服务架构 - 华为云开发者联盟 - 博客园 阅读全文
posted @ 2025-02-07 21:28 liDB 阅读(6) 评论(0) 推荐(0) 编辑
摘要: Django REST framework 简介 在序列化与反序列化时,虽然操作的数据不尽相同,但是执行的过程却是相似的,也就是说这部分代码是可以复用简化编写的。 在开发REST API的视图中,虽然每个视图具体操作的数据不同,但增、删、改、查的实现流程基本套路化,所以这部分代码也是可以复用简化编写 阅读全文
posted @ 2025-02-05 21:03 liDB 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 视图概览 REST framework 提供了众多的通用视图基类与扩展类,以简化视图的编写。 视图的继承关系: 视图的方法与属性: Request 与 Response 1. Request REST framework 传入视图的request对象不再是Django默认的HttpRequest对象 阅读全文
posted @ 2025-02-05 21:03 liDB 阅读(9) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示