实战代码(十二):Springboot 常用代码速查笔记

本文介绍了Spring Boot开发的实用技巧,包括关闭banner、将tomcat替换为undertow、开启热部署、使用内置定时任务、读取配置文件、给接口配置统一前缀、初始化操作、指定日志配置文件以及解决跨域问题等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、关闭banner

在配置文件application.yml中添加

spring:
  main:
    banner-mode: 'off'

二、将tomcat替换为undertow

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
   <exclusions>
      <exclusion>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-tomcat</artifactId>
      </exclusion>
   </exclusions>
</dependency>
<!-- 将tomcat替换为undertow -->
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-undertow</artifactId>
</dependency>

三、开启热部署

<!-- 热部署 optional为true才会生效 -->
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-devtools</artifactId>
   <optional>true</optional> 
</dependency>

四、Springboot内置的定时任务

// 允许启用定时任务
@EnableScheduling

// 每隔一分钟执行一次
@Scheduled(fixedRate = 60 * 1000)

// 每天0点1分执行一次
@Scheduled(cron="0 1 0 * * *")

五、读取配置文件中的配置项

@Value("${rmq.namesrvAddr}")
private String namesrvAddr;

六、读取自定义的配置文件

依赖引入

<!-- 自定义的元数据依赖 -->
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-configuration-processor</artifactId>
   <optional>true</optional>
</dependency>

配置文件

rmq.namesrvAddr=192.168.1.10:9876
rmq.consumeThreadMin=10
rmq.consumeThreadMax=20
rmq.consumerGroup=epark
rmq.clientLogDir=logs/rocketmq_client

读取配置文件

@Component
@ConfigurationProperties(prefix = "rmq")
@PropertySource(value = "rocketmq-config.properties")
@Data
public class RocketMQProperties {

    private String namesrvAddr;
    private int consumeThreadMin;
    private int consumeThreadMax;
    private String consumerGroup;
    private String clientLogDir;
}

七、给接口配置统一的前缀

server:
    servlet:
        context-path: /demo

八、初始化

commandLine是项目启动后需要执行的操作,优先级通过Value实现,数值越小优先级越高

@Order(value=2)
@Component
public class ApplicationInit implements CommandLineRunner { }

九、指定日志配置文件

logging.config=classpath:logback-spring-dev.xml

十、解决跨域问题

@Configuration
public class CorsConfig {
    @Bean
    public CorsFilter corsFilter() {
        final UrlBasedCorsConfigurationSource urlBasedCorsConfigurationSource = new UrlBasedCorsConfigurationSource();
        final CorsConfiguration corsConfiguration = new CorsConfiguration();
        /*是否允许请求带有验证信息*/
        corsConfiguration.setAllowCredentials(true);
        /*允许访问的客户端域名*/
        corsConfiguration.addAllowedOrigin("*");
        /*允许服务端访问的客户端请求头*/
        corsConfiguration.addAllowedHeader("*");
        /*允许访问的方法名,GET POST等*/
        corsConfiguration.addAllowedMethod("*");
        urlBasedCorsConfigurationSource.registerCorsConfiguration("/**", corsConfiguration);
        return new CorsFilter(urlBasedCorsConfigurationSource);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值