基本的 Spring Boot 配置步骤和常见的配置项【创建,配置,日志,数据库,安全,MVC】

news2024/12/28 11:34:30

基本的 Spring Boot 配置步骤和常见的配置项【创建,配置,日志,数据库,安全,MVC】

学习总结

1、掌握 JAVA入门到进阶知识(持续写作中……
2、学会Oracle数据库入门到入土用法(创作中……
3、手把手教你开发炫酷的vbs脚本制作(完善中……
4、牛逼哄哄的 IDEA编程利器技巧(编写中……
5、面经吐血整理的 面试技巧(更新中……

在这里插入图片描述
Spring Boot 是一个用于快速开发、运行和部署 Spring 应用程序的框架。它简化了基于 Spring 的应用程序的配置和部署过程。以下是一些基本的 Spring Boot 配置步骤和常见的配置项:

1. 创建 Spring Boot 项目

  • 使用 Spring Initializr 或 IDE(如 IntelliJ IDEA、Eclipse)创建新的 Spring Boot 项目。
  • 选择所需的构建工具(如 Maven 或 Gradle)、Spring Boot 版本和项目元数据。
  • 添加所需的依赖项,如 Spring Web、Spring Data JPA、Spring Security 等。

2. 配置应用程序属性

Spring Boot 应用程序通常使用 application.propertiesapplication.yml 文件来配置应用程序属性。这些文件位于 src/main/resources 目录下。

application.properties 示例:
server.port=8080
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=1234
application.yml 示例:
server:
  port: 8080
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mydb
    username: root
    password: 1234

3. Profiles 配置

Spring Boot 允许你使用 Profiles 来配置不同环境下的应用程序属性。可以在 application.propertiesapplication.yml 文件中定义特定于 Profile 的属性。

application.yml 示例:
spring:
  profiles:
    active: dev
---
spring:
  profiles: dev
server:
  port: 8080
---
spring:
  profiles: prod
server:
  port: 80

4. 日志配置

Spring Boot 使用 Logback 作为默认日志框架。可以通过 application.propertieslogback-spring.xml 文件来配置日志。

application.properties 示例:
logging.level.root=WARN
logging.level.org.springframework.web=DEBUG
logging.file.name=app.log

5. 数据库配置

对于数据库连接,Spring Boot 支持多种数据库,如 MySQL、PostgreSQL、H2 等。可以在 application.propertiesapplication.yml 文件中配置数据库连接属性。

6. 安全配置

如果你的应用程序需要安全性,可以添加 Spring Security 依赖并配置安全性设置。

Spring Security 配置示例:
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .authorizeRequests()
                .antMatchers("/", "/home").permitAll()
                .anyRequest().authenticated()
                .and()
            .formLogin()
                .loginPage("/login")
                .permitAll()
                .and()
            .logout()
                .permitAll();
    }
    @Autowired
    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
        auth
            .inMemoryAuthentication()
                .withUser("user").password("{noop}password").roles("USER");
    }
}

7. MVC 配置

对于 MVC 相关的配置,可以创建一个继承自 WebMvcConfigurer 的配置类。

MVC 配置示例:
@Configuration
public class WebConfig implements WebMvcConfigurer {
    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/").setViewName("home");
    }
}

8. 端点监控

Spring Boot 提供了一系列用于监控和管理应用程序的端点。可以通过 application.propertiesapplication.yml 文件来配置这些端点的访问权限和详细信息。

application.properties 示例:
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always

这些只是 Spring Boot 配置的一部分。Spring Boot 的强大之处在于它的自动配置能力,它能够根据添加的依赖和上下文自动配置许多组件。如果需要,你还可以自定义配置来覆盖默认设置。

往期文章

 第一章:日常_JAVA_面试题集(含答案)
 第二章:日常_JAVA_面试题集(含答案)
 平安壹钱包JAVA面试官:请你说一下Mybatis的实现原理
 Java必备面试-热点-热门问题精华核心总结-推荐
 往期文章大全……
在这里插入图片描述

一键三连 一键三连 一键三连~

更多内容,点这里❤

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1872630.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

UE5基本操作(二)

文章目录 前言相机的移动速度修改默认地图使用初学者内容包文件夹结构 总结 前言 在我们的上一篇文章中,我们已经介绍了一些Unreal Engine 5(UE5)的基本操作。UE5是一款强大的游戏开发引擎,它提供了许多工具和功能,使…

Elasticsearch 聚合查询

Hi~!这里是奋斗的小羊,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~ 💥💥个人主页:奋斗的小羊 💥💥所属专栏:C语言 🚀本系列文章为个人学习…

SpringMVC处理器映射器HandlerMapping详解

目录 一、前言 二、initHandlerMappings 三、处理器映射器架构 策略接口 请求链 模版类 四、RequestMappingHandlerMapping的初始化 HandlerMethod映射器模版类的初始化 AbstractHandlerMethodMapping.MappingRegistry:内部类注册中心 五、Reques…

AST反混淆|某练习平台混淆代码彻底还原及逆向请求

关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除! 一.目标地址 https://match.yuanrenxue.cn/match/2 二.代码还原 初次请…

MongoDB:JSON and BSON

目录 什么是 JSON MongoDB-JSON连接 什么是 BSON MongoDB 使用 BSON 还是 JSON JSON 与 BSON 架构灵活性和数据治理 JSON 和 BSON 是近亲,正如它们几乎相同的名称所暗示的那样JSON(即 JavaScript 对象表示法)是网络上广泛流行的数据交换…

CVPR上新 | 从新视角合成、视频编解码器、人体姿态估计,到文本布局分析,微软亚洲研究院精选论文

编者按:欢迎阅读“科研上新”栏目!“科研上新”汇聚了微软亚洲研究院最新的创新成果与科研动态。在这里,你可以快速浏览研究院的亮点资讯,保持对前沿领域的敏锐嗅觉,同时也能找到先进实用的开源工具。 本周&#xff0…

2024年湖北省安全员-C证证考试题库及湖北省安全员-C证试题解析

题库来源:安全生产模拟考试一点通公众号小程序 2024年湖北省安全员-C证证考试题库及湖北省安全员-C证试题解析是安全生产模拟考试一点通结合(安监局)特种作业人员操作证考试大纲和(质检局)特种设备作业人员上岗证考试…

uni-app通过配置package.json实现环境变量、自定义条件编译

文章目录 前言官方提示使用方法微信小程序配置如下自定义条件编译使用方法 前言 uni-app 官方概括 官方文档 在开发web时,有时需要一套代码编译发布到不同的站点,比如主站和微信h5站。(注意不是一套代码内部自适应不同浏览器,是真…

CentOS 生命周期结束指南

2019 年 9 月,Red Hat 宣布打算废止 CentOS,并将其替换为 CentOS Stream。 CentOS 7 和 8 是 CentOS Linux 的最终版本。CentOS 7 和 8 的生命周期结束日期为: CentOS 8 - 2021 年 12 月 31 日 CentOS 7 - 2024 年 6 月 30 日 相关内容推荐 点…

MySQL数据库存储引擎

MySQL数据库存储引擎 存储引擎概念 存储引擎也称为表类型 通过不同的技术比如说,存储机制,索引技巧,锁定水平等等,来提供不同的功能。 查看MySQL支持的存储引擎 show engines\G; 常用引擎比较 对事务有需求 innodb …

MySQL丢失更新问题的出现和解决

MySQL丢失更新问题的出现和解决 丢失更新问题(Lost Update)指的是两个或多个事务在读同一数据并基于此数据进行更新操作时,某些更新操作被覆盖或丢失。例如,事务A和事务B都读取了某个数据,然后事务A更新了该数据&…

谷歌Gemma 2:开源模型的新里程碑

引言: 在人工智能领域,谷歌一直是创新的先行者。最近,谷歌DeepMind团队在I/O Connect大会上发布了Gemma 2,这是其开源模型系列的最新力作,标志着AI技术的又一大步。 Gemma 2的前身,Gemma,已经因…

0-30 VDC 稳压电源,电流控制 0.002-3 A

怎么运行的 首先,有一个次级绕组额定值为 24 V/3 A 的降压电源变压器,连接在电路输入点的引脚 1 和 2 上。(电源输出的质量将直接影响与变压器的质量成正比)。变压器次级绕组的交流电压经四个二极管D1-D4组成的电桥整流。桥输出端…

中电金信:时代有命题,运营有答案——咨询服务为金融机构运营加上智慧“基因”

这两年,很多搞运营的“卷王”都开始迷茫了 原因其实没别的:时代变了 与此同时,条线集中趋于成熟 跨条线共享障碍多多 运营模式创新所带来的变革红利 也达到了发展瓶颈 想破局就必须引入一些新“变量” 基于中电金信多年来对银行业的实践…

多行业预约门店服务小程序源码系统 支持多门店预约 带完整的安装代码包以及搭建教程

系统概述 该系统基于先进的云计算和大数据技术,采用模块化设计,具有高度的可扩展性和可定制性。无论是餐饮、美容美发、健身房还是其他服务行业,都可以通过该系统轻松实现多门店预约功能。同时,我们还提供了丰富的接口和插件&…

Linux防火墙【SNAT,DNAT】

NAT: 支持PREROUTING,INPUT,OUTPUT,POSTROUTING四个链 请求报文:修改源/目标IP, 响应报文:修改源/目标IP,根据跟踪机制自动实现 NAT的实现分为下面类型: SNAT:source…

goLang小案例-获取从控制台输入的信息

goLang小案例-获取从控制台输入的信息 1. 案例代码展示 package mainimport ("bufio""fmt""log""os" )var pl fmt.Printlnfunc main() {//控制台输出欢迎提示pl("Hello Go")fmt.Print("what is your name? ")…

【技术追踪】SDSeg:医学图像的 Stable Diffusion 分割(MICCAI-2024)

这医学图像分割领域啊,终究还是被 Stable Diffusion 闯进去了~ SDSeg:第一个基于 Stable Diffusion 的 latent 扩散医学图像分割模型,在五个不同医学影像模态的基准数据集上超越了现有的最先进方法~ 论文:Stable Diffusion Segmen…

安宝特分享 | 数字化革命,AR技术打造智慧城市的未来

随着城市化进程的加速和科技创新的不断推进, AR技术正逐步融入智慧城市建设的方方面面,为城市居民提供更智能、便捷、舒适的生活体验,开启了智慧城市的新时代。 01 优化城市规划与建设 AR技术在城市规划和建设中发挥着重要作用。城市规划师和…

leetcode提速小技巧

据我所知,leetcode可能是按最难那个用例给你打分的,非难题的用时好坏不完全看复杂度,因为可能都差不多,O(n/2)和O(n)虽然都是O(n),但是反应到成绩上是不同的,所以,尽可能的在条件足够的情况下提…