SpingBoot的配置文件,SSM整合

1.多环境配置

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设置,防止因为编码格式出问题 

SpingBoot的配置文件,SSM整合_第2张图片

通过命令行配置环境

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

SpingBoot的配置文件,SSM整合_第3张图片

SpingBoot的配置文件,SSM整合_第4张图片

配置优先级

SpingBoot的配置文件,SSM整合_第5张图片

3.多环境开发兼容问题

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

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

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

 
            
                org.apache.maven.plugins
                maven-resources-plugin
                3.2.0
                
                    UTF-8
                    true
                
            

SpingBoot的配置文件,SSM整合_第6张图片

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

SpingBoot的配置文件,SSM整合_第7张图片

4.配置文件的优先级

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

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

1级:classpath:application.yml

2级:classpath:config/application.yml

3级:file :application.yml

4级:file :config/application.yml

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

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

SpingBoot的配置文件,SSM整合_第8张图片

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需要的模块

SpingBoot的配置文件,SSM整合_第9张图片

这个工作就是取代了使用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坐标


            com.alibaba
            druid
            1.1.16
        

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文件添加依赖

SpingBoot的配置文件,SSM整合_第10张图片

2.配置yml文件

SpingBoot的配置文件,SSM整合_第11张图片

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

SpingBoot的配置文件,SSM整合_第12张图片

2.创建dao接口

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

SpingBoot的配置文件,SSM整合_第13张图片 

 3.controller文件无需修改

SpingBoot的配置文件,SSM整合_第14张图片

 4.实现类无需修改

SpingBoot的配置文件,SSM整合_第15张图片

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

6.修改测试类

SpingBoot的配置文件,SSM整合_第16张图片

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

SpingBoot的配置文件,SSM整合_第17张图片

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

SpingBoot的配置文件,SSM整合_第18张图片

 

你可能感兴趣的:(spring,boot,后端,java)