IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> SpingBoot的配置文件,SSM整合 -> 正文阅读

[Java知识库]SpingBoot的配置文件,SSM整合

1.多环境配置

在application.yml中,配置环境

#---用横线区分环境。profiles标记多环境,active确定启用哪个环境
spring:
  profiles:
    active: pro
---

#开发环境
spring:
  profiles: dev
server:
  port: 80
---

#生产环境
spring:
  profiles: pro
server:
    port: 81

---
#测试环境
spring:
  profiles: test
server:
      port: 82

另一种写法是,用spring.caonfig.activate.on-profile来替代spring.profiles

#开发
spring:
  config:
    activate:
      on-profile: dev

?这是在yaml文件中进行环境配置,如果使用properties文件,就需要定义多个配置文件

例如dev环境的配置,就需要新建一个dev的properties的文件

application-dev.properties是开发环境的配置文件。我们在该文件中配置端口号为80

server.port=80

SpringBoot只会默认加载名为application.properties的配置文件,在application.properties配置文件中设置启用哪个配置文件,配置如下:

spring.profiles.active=pro

2.配置环境的多种方法

properties文件单独放在bak文件夹下

运行package命令时,最好先运行一次clea命令,这样不会让上一次的操作结果影响package命令。

修改idea设置,防止因为编码格式出问题?

通过命令行配置环境

设置环境的端口号,打包之后再cmd页面运行相关代码即可

配置优先级

3.多环境开发兼容问题

如果maven和SpringBoot都设置了多环境的配置吗,那么应该用pom文件中的配置还是yaml文件中的配置呢?

应该用maven设置的环境配置为主,即在pom文件中设置的环境配置为主,yaml文件需要从pom文件中得到环境配置。

pom文件中的属性只能在pom文件中使用,如果yaml文件要使用pom文件中的属性,需要使用插件

 <!--yml文件可以访问pom文件的有关插件-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>3.2.0</version>
                <configuration>
                    <encoding>UTF-8</encoding>
                    <useDefaultDelimiters>true</useDefaultDelimiters>
                </configuration>
            </plugin>

还需要在yml文件中设置属性的引用?

4.配置文件的优先级

SpringBoot 定义了配置文件不同的放置的位置;而放在不同位置的优先级时不同的。

SpringBoot 中4级配置文件放置位置:

1级:classpath:application.yml

2级:classpath:config/application.yml

3级:file :application.yml

4级:file :config/application.yml

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

优先级高的配置文件会覆盖低的文件的配置

5.SpringBoot整合

5.1

环境准备,建立一个SpringBoot工程,然后使用boot的项目构建方法

创建接口,实现接口,编写测试类

接口实现类上加上@Service,类中写好实现方法(@Override),

测试类上加@SpringBootTest,使用自动转配注入要测试的类对象(@Autowired),测试方法上加@Test

注意:

这里的引导类所在包必须是测试类所在包及其子包。 例如: 引导类所在包是 com.itheima 测试类所在包是 com.itheima

如果不满足这个要求的话,就需要在使用 @SpringBootTest 注解时,使用 classes 属性指定引导类的字节码对象。如 @SpringBootTest(classes = Springboot07TestApplication.class)

5.2.整合Mybatis

思路,整合Mybatis时,要连接数据库,数据源。

5.2.1.在建立工程时,要选择整合Mybatis需要的模块

这个工作就是取代了使用Spring技术时的各种繁琐的配置文件的书写。

5.2.2接下来自定义一个实体类?

public class Book {
    private Integer id;
    private String name;
    private String type;
    private String description;
    //setter,getter,toString
}

5.2.3定义dao接口

Mybatis 会扫描接口并创建接口的代码对象交给 Spring 管理,但是没有告诉 Mybatis 哪个是 dao 接口。 需要在 BookDao 接口上使用 @Mapper

@Mapper
public interface BookDao {
    @Select("select * from tbl_book where id = #{id}")
    public Book getById(Integer id);
}

5.2.4定义测试类

@SpringBootTest
    class Springboot08MybatisApplicationTests {
        @Autowired
        private BookDao bookDao;
        @Test
        void testGetById() {
            Book book = bookDao.getById(1);
            System.out.println(book);
    }
}

5.2.5在application.yml文件中定义properties

spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/ssm_db
username: root
password: root

5.2.6也可以在yml文件中更改默认的数据源,使用Druid数据源

导入Druid坐标

<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.16</version>
        </dependency>

yml中配置数据源的使用

type: com.alibaba.druid.pool.DruidDataSource

5.3整合SSM

5.3.1整合思路,整合SSM,就是整合Spring,SpringBoot,Mybatis,再完善功能页面即可

1. pom.xml 配置起步依赖,必要的资源坐标(druid)

2. application.yml 设置数据源、端口port等

3. 配置类 全部删除

4. dao 设置@Mapper

5. 测试类

6. 页面 放置在resources目录下的static目录中

具体实现

1.pom文件添加依赖

2.配置yml文件

3.导入实体类文件domain下的Book

2.创建dao接口

加上@Mapper,让Boot项目可以扫描到对应的组件,然后生成自动代理。

?

?3.controller文件无需修改

?4.实现类无需修改

5.所有的配置类可以删除(config)、

6.修改测试类

7.把页面静态资源放到以下文件夹

index.html的作用是设置主页面,在浏览器中输入localhost后,自动调转到index.html设置的主页面去

?

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-09-24 20:42:44  更:2022-09-24 20:44:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 9:13:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码