首页 > 其他分享 >笔记

笔记

时间:2023-04-14 11:12:35浏览次数:38  
标签:springboot 配置文件 spring boot druid 笔记 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包

@RestController
public class HelloWorldController {

    @GetMapping("index")
    public Map<String,Object> hello(){
        Map<String,Object> map=new HashMap<>();
        map.put("name","爱因斯坦);
        map.put("age",1800);
        return map;
    }
}

浏览器访问接口

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

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

properties格式如下:

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

yml结构

server:
  port: 2222
  servlet:
    context-path: /abc

不管使用哪个配置文件,他们的名字必须叫application. 如果上面两个配置文件同时存在,而且里面有相同的配置。则properties优先级高于yml优先级。

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

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

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

读取方式有两种:

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

@Data
@Component//标注一个类为Spring容器的Bean
@ConfigurationProperties(prefix = "student")//通过与其他注解配合使用,能够实现Bean的按需配置。
public class Student {
    private String name;
    private Integer age;
    private String address;
    private List<String> hobby;
    private Map<String,Object> map;
}

在properties写

第二种使用@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/test1?serverTimezone=Asia/Shanghai
spring.datasource.druid.username=root
spring.datasource.druid.password=123456
spring.datasource.druid.initial-size=5

(3)测试

@SpringBootTest
class Qy163Springboot01ApplicationTests {

    @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.3.12.RELEASE</version> //版本都为2.3.12
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.ykq</groupId>
    <artifactId>qy163-springboot02</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>qy163-springboot02</name>
    <description>Demo project for Spring Boot</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>mysql</groupId>
            <artifactId>mysql-connector-java</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.21</version>
        </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>

(2)修改配置文件

#数据源
spring.datasource.druid.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.druid.username=root
spring.datasource.druid.password=123456
spring.datasource.druid.url=jdbc:mysql://localhost:3306/test1

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

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

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.zjy.mapper.EmpMapper.findAll

(3) mapper接口

public interface EmpMapper {
public List findAll();
}

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

(5)测试

@SpringBootTest
class Springboot02ApplicationTests {

    @Autowired
    private EmpMapper empMapper;
    @Test
    void contextLoads() {
        System.out.println(empMapper.findAll());
    }

}

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

相关文章

  • 前端小知识点扫盲笔记记录8
    前言我是歌谣放弃很容易但是坚持一定很酷今天继续对前端知识的小结命令模式宏命令<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="......
  • Cadence应用笔记:圆弧走线
    说明走线有时候要走圆弧,拉线方法如下:选择拉线后在选项栏中设置为arc模式,根据需求拉45度或者90度、结果如下......
  • mysql笔记
    1.3、数据库分类关系型数据库:(sql)MySql,Oracle,SqlServer,DB2,SQLlite通过表和表之间,行和列之间的关系进行数据的存储,学员信息表,考勤表,。。。。。非关系型数据库:(NoSQL)NotOnlyRedis,MongDB非关系型数据库,对象存储,通过对象的自身属性来决定。DBMS(数据库管理系统)数据库的......
  • Go笔记(六):切片
    切片是对数组的拓展,在Go中数组的长度一旦定义无法被修改,切片的长度是不固定的,可以理解为切片是一个可变长度数组,是一个有相同类型元素的可变长度序列。1、声明切片1.1、显示声明切片1、语法声明切片语法如下:varsclicename[]type2、示例代码1packagemain2......
  • pytest学习笔记
    pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。根据pytest的官方网站介绍,它具有如下特点:非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考能够支持简单的单元测试和复杂的功能测试支持参数化执行测......
  • Django笔记六之外键ForeignKey介绍
    本文首发于公众号:Hunter后端原文链接:Django笔记六之外键ForeignKey介绍这是一种一对多的字段类型,表示两张表之间的关联关系。本篇笔记的目录如下:on_deleterelated_namerelated_query_name外键字段的保存1、on_delete假设有两个application,app1和app2app1下的某......
  • Django笔记二十三之case、when操作条件表达式搜索、更新等操作
    本文首发于公众号:Hunter后端原文链接:Django笔记二十三之条件表达式搜索、更新等操作这一篇笔记将介绍条件表达式,就是如何在model的使用中根据不同的条件筛选数据返回。这个操作类似于数据库中ifelifelse的逻辑。以下是本篇笔记的目录:model和数据准备When和Case......
  • 烘焙笔记
    目录贝壳边贝壳边标准头大尾小大小均匀,纹路清晰收口要圆不留缝......
  • 虚幻引擎 4 学习笔记 [1] :蓝图编程 Demo
    虚幻引擎4学习笔记[1]:蓝图编程Demo​ 最近学习虚幻引擎,主要看的是Siki学院的课,课程链接:Unreal蓝图案例-基础入门-SiKi学院|SiKi学堂-unity|u3d|虚幻|ue4/5|java|python|人工智能|视频教程|在线课程(sikiedu.com)​ 以下为课程笔记:1.创建工程​ 选择蓝图,不带初......
  • ROS学习笔记(二)- 提供服务和调用服务
    书接上回-https://www.cnblogs.com/lihan829/p/17315435.html前面展示了ROS节点发布和订阅消息,这次展示如何提供服务和调用服务。提供服务和调用服务很好理解,概念和行为上并不深奥,就是远程过程调用,可类比为http接口的远程调用,grpc接口的远程调用等等。1,服务提供方,定义服务,服......