SpringBoot 配置详解:.yml 文件设置与数据库连接

需积分: 23 1 下载量 62 浏览量 更新于2024-09-10 收藏 3KB TXT 举报
本文将详细解释SpringBoot应用中配置文件`application.yml`的相关知识点,包括Thymeleaf和FreeMarker模板引擎的配置、Redis数据库连接池Jedis的设置以及Druid数据源的详细配置。 在SpringBoot项目中,`application.yml`是用于定义应用程序配置的关键文件。下面将逐一解析文件中的各个部分: 1. Thymeleaf配置: - `cache: false`:关闭Thymeleaf模板的缓存,这意味着每次请求都会重新渲染模板,这对于开发环境非常有用,但在生产环境中可能会影响性能。 - `suffix: .ftl`:定义FreeMarker模板文件的后缀名,这里是`.ftl`。 - `content-type: text/html`:设置模板的MIME类型为`text/html`。 - `charset: UTF-8`:设定模板文件的字符编码为UTF-8。 - `template-loader-path: classpath:/templates/role`:指定FreeMarker模板加载的路径,这里是在类路径下的`templates/role`目录。 2. FreeMarker配置: - `cache: false`:与Thymeleaf相同,关闭FreeMarker模板的缓存。 3. Spring MVC静态资源处理: - `mvc: static-path-pattern: /static/`:定义静态资源的访问路径模式,所有以`/static/`开头的URL将被视为静态资源。 4. Redis配置: - `database: 0`:设置连接到Redis的默认数据库,这里的值为0。 - `host: 120.79.252.57`:Redis服务器的IP地址。 - `port: 6379`:Redis服务的端口号。 - `password: password`:连接Redis的密码。 - `jedis: pool`:接着是Jedis连接池的配置,用于管理Redis连接。 - `max-active: 100`:最大活动连接数。 - `max-idle: 3`:最大空闲连接数。 - `max-wait: -1`:最大等待时间,这里的 `-1` 表示无限制。 - `min-idle: 0`:最小空闲连接数。 - `timeout: 1000`:连接超时时间,单位为毫秒。 5. Druid数据源配置: - `type: com.alibaba.druid.pool.DruidDataSource`:声明使用Druid作为数据源实现。 - `driver-class-name: com.mysql.jdbc.Driver`:指定数据库驱动,这里是MySQL的JDBC驱动。 - `url: jdbc:mysql://localhost:3306/hibernate?useUnicode=true&characterEncoding=utf8`:数据库连接URL,包含数据库地址、端口、名称和连接参数。 - `username: root`:数据库用户名。 - `password: 123`:数据库密码。 - `druid`:进一步的Druid连接池配置。 - `initial-size: 5`:初始化时创建的连接数。 - `min-idle: 5`:最小连接池大小。 - `max-active: 20`:最大活动连接数。 - `max-wait: 60000`:最大等待时间,单位为毫秒。 - `time-between-eviction-runs-millis: 60000`:检查并移除空闲连接的时间间隔,单位为毫秒。 - `min-evictable-idle-time-millis: 30000`:一个连接被视为可回收的最小空闲时间,单位为毫秒。 - `validation-query: SELECT 1 FROM DUAL`:用于验证连接是否有效的SQL语句。 - `test-while-idle: true`:在连接空闲时进行验证。 - `test-on-borrow: true`:在从池中获取连接时进行验证。 - `test-on-return: false`:返回连接到池时不做验证。 - `pool-prepared-statements: true`:启用预编译的SQL语句池。 - `max-pool-prepared-statement-per-connection: 20`:每个连接的最大预编译语句数。 以上配置涵盖了SpringBoot中模板引擎、数据库连接和缓存管理等关键组件的设置,这些设置对于优化应用性能、确保数据安全和提高开发效率都至关重要。在实际项目中,可以根据具体需求调整这些参数。