首页 > 其他分享 >笔记springboot0410

笔记springboot0410

时间:2023-04-17 10:59:55浏览次数:49  
标签:springboot 配置文件 spring boot druid 笔记 springboot0410 org

1.课程大纲-springboot框架

1. 什么是Springboot以及Springboot的特点。
2. 快速搭建springboot项目
3. springboot常用的配置文件类型.
4. 读取springboot配置文件的内容
5. 多环境配置
6. springboot整合数据源。
7. springboot整合mybatis.
8. springboot整合定时器。

2. 什么是Springboot以及Springboot的特点。

2.1 什么是springboot?

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程 . 理解:spring框架搭建的步骤:[1]依赖 [2]配置文件。 使用springboot可以简化上面的两个步骤。

2.2 springboot的特点

① 创建独立的 Spring 应用程序

② 嵌入的 Tomcat,无需部署 WAR 文件

③ 简化 Maven 配置

④ 自动配置 Spring

⑤ 提供生产就绪型功能,如指标,健康检查和外部配置

⑥ 开箱即用,没有代码生成,也无需 XML 配置。

3. 使用idea快速搭建springboot工程

3.1 在有网的情况


创建一个controller包

浏览器访问接口

4.pringboot常用的配置文件类型.

properties和yml格式。他们的区别就是格式上不同。

properties格式如下:

#修改端口号
server.port=8888
# 修改上下文路径
server.servlet.context-path=/xia

yml结构

server:
  port: 8887
  servlet:
    context-path: /xia

springboot配置文件名字后缀必须是application. 两个配置文件同时存在而且里面有相同的配置时properties优先级高于yml。

5. java如何读取配置文件中的内容

java为什么需要读取配置文件的内容,我们开发时需要把哪些内容放入配置文件。

OSS:上传文件。accessKeyId,accessKeySecret等,这些内容能写在java源代码中。硬编码文件,不利维护。 我们需要把信息写入配置文件。

读取方式有两种:

第一种方式: 在类上@ConfigurationProperties(prefix="")

第二种使用@Value读取属性:---他只能读取基本类型和String类型。加在属性上

    @Value("${student.map}")
    private Map<String,Object> map;

    @GetMapping("a")
    public Map<String,Object> a(){
        return map;
    }

6. springboot整合数据源

druid数据源: ----连接数据库

(1)引入相关的依赖。

       <!--mysql的驱动依赖-->
 <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.21</version>
        </dependency>

(2)配置数据源信息

spring.datasource.druid.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.druid.url=jdbc:mysql://localhost:3306/db6?serverTimezone=Asia/Shanghai
spring.datasource.druid.username=root
spring.datasource.druid.password=320023
spring.datasource.druid.initial-size=5

(3)测试

@SpringBootTest
class XiaSpringboot01ApplicationTests {

    @Autowired
    private DataSource dataSource;
    @Test
    void contextLoads() throws Exception{
        System.out.println(dataSource);
    }


7. springboot整合mybatis

(1)相关依赖

<?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.7.10</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.aaa</groupId>
    <artifactId>xia-springboot01</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>xia-springboot01</name>
    <description>xia-springboot01</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <!--mysql的驱动依赖-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.28</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <!--mybatis和springboot整合的依赖 启动依赖-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.4</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.20</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>
    </dependencies>


    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.7.10</version>
            </plugin>
        </plugins>

    </build>

</project>


(2)修改配置文件


#端口号
server.port=8887
#上下文地址
server.servlet.context-path=
#数据源
spring.datasource.druid.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.druid.url=jdbc:mysql://localhost:3306/db6?serverTimezone=Asia/Shanghai
spring.datasource.druid.username=root
spring.datasource.druid.password=320023

#指定映射文件所在的路径
mybatis.mapper-locations=classpath:mapper/*.xml

#mybatis日志文件
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

(3) mapper接口

public interface StudentMapper {
    public List<Student> findAll();
}

(4)为mapper接口生成代理实现类

@SpringBootApplication
@MapperScan(basePackages = "com.xhw.dao")
public class Springboot02Application {

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

}

(5)测试

@SpringBootTest
class Springboot02ApplicationTests {
@Autowired
private StudentDao studentDao;
    @Test
    void contextLoads() {
        System.out.println(studentDao.findAll());
    }

}

标签:springboot,配置文件,spring,boot,druid,笔记,springboot0410,org
From: https://www.cnblogs.com/xhw320/p/17320497.html

相关文章

  • c++笔记——类模板
    类模板的几个简单测试例程几个要点:(1)类模板类型,在实例化时需要显式类型名称(2)已经显式类型后,传入的参数如果不是相应类型,则会发生强制转换(3)在类外定义的成员函数,需要加上模板参数列表和类作用域,且类作用域带类型列表(4)多个参数模板时,可以在函数中使用其中若干个,不用全部都使用。......
  • TK笔记
    1、@Transactional(readOnly=true)代表当前事务只读,不可写;2、Springboot项目开启事务不是必须添加@EnableTransactionManagementhttps://zhuanlan.zhihu.com/p/569159313可以打开org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration已有自动添......
  • SoSdp 学习笔记
    SoSdp用来解决这种问题:对于非负整数\(i\),\(K\),定义布尔型二元运算\(i\subseteqK\),可以以下四种等价角度理解:\(i\operatorname{bitand}K=i\)。\(\operatorname{bitand}\)是按位与的意思。同一个二进制位上,\(i\)的这一位小于等于\(K\)的这一位。同一个二进制位上,\(......
  • Nacos笔记(四):Nacos集群搭建
    Nacos集群部署的准备工作-Nacos持久化已完成,详见: Nacos笔记(三):Nacos配置持久化,下面介绍Nacos的集群部署。部署三个nacos节点:nacos、nacos01、nacos02。1、设置集群配置文件1.1、复制集群配置文件cpcluster.conf.examplecluster.conf1.2、修改集群配置在clus......
  • 【进阶12】【自学笔记】Python单例模式实现的几种方式
    一、单例模式定义单例模式是一种常用的创建型设计模式,它保证一个类只有一个实例,并提供一个全局的访问点。二、实例展示实例1:classSingleton:_instance=Nonedef__new__(cls):ifcls._instanceisNone:cls._instance=super().__new__(......
  • 《全数据时代的炼金师》读书笔记(二)
    第四章数据炼金策略一,三大基本策略1,新算法策略2,多元化策略3,替代化策略二,策略与反应1,对于问卷调查过程中冷冰冰的问与答,被调查者能否提供真实的数据与信息,还是值得推敲的。尤其是被调查者的动机、情感和内在的一些想法,往往很难通过一系列的选择题和打分题来获取。2,市场研......
  • 《全数据时代的炼金师》读书笔记(一)
    读书笔记——《全数据时代的炼金师》顾家峰著,1~3章第一章  大数据的冲击一  数据的起源于发展数据的3条特征收集和分析数据是为了解决问题调查与统计是基础数据分析与挖掘的目的是价值发现  从古至今,数据的核心价值是不变的——最终目标就是要从数据中发现价值,找出事......
  • 【笔记】PBR初见
    尝试在unity中实现类似标准材质的PBR材质 本篇纯粹作为学习笔记记录,基本都是大佬现成的思路以及直接套的公式PBR辐射率公式想必大家都有所耳闻\(L_{0}\left(p,w_{0}\right)=\int_{Ω}^{}\\left(k_{d}\cdot\frac{c}{\pi}+\frac{D\cdotG\cdotF}{4\cdot\left(w_{0}\cdotn......
  • 4.12考试听课笔记
    2023-04-16T1seq:一.:首先注意,子集不是子区间,可不连续;序列权值与min和max有关。先进行排序,就可以找到这样的规律:   2      |4     23    |4+3*(2*1+3*1)=19     234  |19+(2*2+3*1+4*1)=63     2345|63+(2*4+3*2+4*1+5......
  • FFmpeg开发笔记(一)搭建Linux系统的开发环境
    对于初学者来说,如何搭建FFmpeg的开发环境是个不小的拦路虎,因为FFmpeg用到了许多第三方开发包,所以要先编译这些第三方源码,之后才能给FFmpeg集成编译好的第三方库。不过考虑到刚开始仅仅调用FFmpeg的API,不会马上去改FFmpeg的源码,因此只要给系统安装编译好的FFmpeg动态库,即可着手编写......