首页 > 其他分享 >SpringBoot

SpringBoot

时间:2023-07-06 20:44:25浏览次数:37  
标签:SpringBoot spring boot springframework application org yml

SpringBoot

概述

SpringBoot是搭建spring应用的脚手架,可以迅速的搭建一个spring应用,是一个工具,而非框架。

解决问题:

复杂的配置

混乱的依赖管理

特点

  • 快速创建独立的Spring应用。
  • 提供固定的启动器依赖(启动器即Spring Boot提供的一个jar包)去简化组件配置,通过自己设置参数(.properties或.yml的配置文件),实现开箱即用(即快速使用)的效果
  • 只要你导入了某一个框架的启动器,那么该框架对应的依赖会全部自动导入
  • 提供了一些大型项目中常见的非功能性特性,如内嵌服务器(如tomcat、jetty、undertow)、安全、指标,健康检测、外部化配置等

搭建测试工程

image-20230706112359153

image-20230706112549535

image-20230706112627691

pom.xml

<?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>
    <!--1. 凡是springboot项目都必须要继承一个父模块-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.1.1</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <!-- Generated by https://start.springboot.io -->
    <!-- 优质的 spring/boot/data/security/cloud 框架中文文档尽在 => https://springdoc.cn -->

    <groupId>com.yxh</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demo</name>
    <description>demo</description>
    <properties>
        <java.version>17</java.version>
    </properties>
    <dependencies>
        <!-- 2. 以后你需要使用哪个框架,那么就导入对应框架的启动器即可。
   比如:springmvc - starter-web-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </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>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

启动类

package com.yxh.demo;

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

// //表明是一个springboot应用
/*
@SpringBootApplication这个注解的本质是有以下三个注解:
    1.@Configuration【表示该类是一个配置类】
    2.@EnableAutoConfiguration【开启自动装配, 根据导入的依赖来完成该框架的自动配置。】
    ===springboot启动时会检测你导入了哪些框架的jar包,那么springboot就会给你完成哪些配置;例如springmvc(核心控制器,处理器映射器,处理器适配器,视图解析器的对象的创建)===
    3.@ComponentScan【默认扫描SpringbootNewApplication所在包以及子包下面所有使用了spring注解的类】
    ===spring注解 
    ioc:@Controller @Service @Component @Repository 
    DI:@Value @Autowired @Qualier 
    AOP:@Transational @Before @After===
*/

//springboot启动类
@SpringBootApplication
public class DemoApplication {
    //启动spring的容器,加载当前类上面的@SpringBootApplication注解
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

}

image-20230706113054505

image-20230706113102134

image-20230706113118477

image-20230706113154426

image-20230706113231940

image-20230706113333192

配置文件

application.properties

## 端口号
server.port=9090

## 项目访问路径
server.servlet.context-path=/test

springboot在启动完成自动配置的时候会去读取application.properties文件,根据key值读取相应的value

yml配置

  • YML文件格式是YAML(YAML Aint Markup Language)编写的文件格式,YAML是一种层级树键值对格式文件,并且容易被人类阅读,容易和脚本语言交互的,可以被支持YAML库的不同的编程语言程序导入,比如: C/C++, Ruby, Python, Java, Perl, C#, PHP等。YML文件是以数据为核心的,比传统的xml方式更加简洁。
  • YML文件的扩展名可以使用.yml或者.yaml。
当application.properties与application.yml两个文件同时存在时,当属性名相同时application.properties中的属性会 覆盖 application.yml中的属性。

加载顺序:

1、application.yml

2、application.properties

application.yml

server:
	port: 9090
	servlet:
		context-path: /test
## 如果需要自定义一些东西,只能写在application.yml或者application.properties中
## 自己定义的属性和值,需要自己去读取
student:
	name: 张三
	age: 18
	sex: 女

读取自定义配置

@Data
//spring注解 创建对象
@Component
//spring 要把数据给到实体类的前提是:1.属性名要对上,2.属性必须要有setter方法
@ConfigurationProperties(prefix="student")
public class User implements Serializable{
    private String name;
    private String sex;
    private Integer age;
}

或者

@Data
@Component
public class Student implements Serializable{
    @Value("${student.name}")
    private String name;
    @Value("${student.sex}")
    private String sex;
    @Value("${student.age}")
    private Integer age;
}

!!不支持注入复杂数据类型

集成mybatis

1.导入依赖

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.8.RELEASE</version>
    </parent>

    <dependencies>
        <!--springmvc-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--数据库驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>

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

        <!--lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

    </dependencies>

2.配置yml

server:
  port: 8081
  servlet:
    context-path: /test
## 配置数据源
spring:
  datasource:
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/medical?useSSL=false
## 映射文件/包名
mybatis:
  mapper-locations:
  - classpath:mapper/*.xml
  type-aliases-package: com.yxh.springboot_create_ssm.entity
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
## 记录日志

3.编写实体类

4.编写mapper

接口上加@Mapper或者在Application.java上加@MapperScan(basePackages = "com.yxh.springboot.dao")

标签:SpringBoot,spring,boot,springframework,application,org,yml
From: https://www.cnblogs.com/YxinHaaa/p/17533301.html

相关文章

  • SpringBoot集成kafka收发消息——传递消息为对象
    目前springboot整合后的kafka,因为序列化器是StringSerializer,这个时候如果需要传递对象可以有两种方式方式一:可以自定义序列化器,对象类型众多,这种方式通用性不强。方式二:可以把要传递的对象进行转json字符串,接收消息后再转为对象即可,本项目采用这种方式JSON.toJSONString(user)......
  • springboot的excel导出
    这里导出excel用到的是阿里巴巴的easyexcel1、首先导入依赖<!--alibabaeasyexcel--><dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.1.6</version></dependency&g......
  • IDEA中SpringBoot项目 注解报错
    WSG报错:应通过@SpringBootApplication指定特性 IDEA中@EnableAutoConfiguration注解报错Attributesshouldbespecifedvia@SpringBootApplication多次用Maven清理重新导包后还是不可以但是项目可以正常启动起来这种是IDEA级别的检查错误 需要在IDEA中Settings中设......
  • 第九篇 - SpringBoot统一结果封装Json数据
    前面几节学习了SpringBoot和Vue的结合,以及Vue跳转到另一个Vue页面。这节学习SpringBootcontroller返回Json数据格式封装。参考链接:https://zhuanlan.zhihu.com/p/347233348第一步:在entity文件夹下新建一个ResultVo类。 ResultVo.javapackagecom.example.demo.entity;p......
  • springboot starter使用
    实现自定义starterpom.xml依赖<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http:......
  • SpringBoot笔记:SpringBoot启动参数配置
    springboot启动参数/usr/local/jdk/jdk1.8.0_261/bin/java-jar-server\ ##服务模式,linux默认是server模式,window默认是client参数-XX:+HeapDumpOnOutOfMemoryError\ ##当OOM发生时自动生成HeapDump文件-XX:HeapDumpPath=/usr/local/springboot_......
  • Websocket+SpringBoot实现简单在线聊天(包含前后端代码)
    1、样式展示登录界面(用户名自己取,密码是111,可在前端文件中改,因为做的比较简单,没有把用户做数据库相关的,所以直接在前端固定了密码是111)聊天界面2、代码展示前端<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatibl......
  • springboot修改配置
    springboot修改配置在resources下的Application.properties端口:#服务器端口配置server.port=80logo:#修改bannerspring.main.banner-mode=off 图片:#配置图像spring.banner.image.location=de.jpg日志#日志logging.level.root=error查看.properties可以去spring......
  • 4. SpringBoot整合mybatis
    1.回顾Spring整合Mybatis​Spring​整合Mybatis​需要定义很多配置类​SpringConfig​配置类导入JdbcConfig​配置类导入MybatisConfig​配置类@Configuration@ComponentScan("com.itheima")@PropertySource("classpath:jdbc.properties")@Import({Jdbc......
  • springboot 加载自定义的属性配置文件 或者xml文件
    1、properties user.propertiesname=zhangshanage=18  2、xml Pen1.xml<?xmlversion="1.0"encoding="utf-8"?><!DOCTYPEpropertiesSYSTEM"http://java.sun.com/dtd/properties.dtd"><properties><......