springboot 项目读取不到第三方jar包的配置类,无法注入bean
工具类:
//这里一定要注意这个注解,否则类不被spring管理,无法注入
@Component
public final class MinioUtils {
//因为工具类的方法都是静态的方便调用
private static MinioClient minioClientTemp;
//先注入一个 非静态的
@Autowired
MinioClient minioClient;
//然后用这个注解 初始化 赋值
@PostConstruct
public void init() {
minioClientTemp = minioClient;
}
private MinioUtils(){}
使用jar包的项目使要用到的配置类(根据自己的情况写,需要什么写什么):
@Configuration
@Data
public class Config {
@Value("${minio.endpoint}")
private String endpoint;
@Value("${minio.accessKey}")
private String accessKey;
@Value("${minio.secretKey}")
private String secretKey;
@Bean
public MinioClient minioClient(){
return MinioClient.builder()
.endpoint(endpoint)
.credentials(accessKey,secretKey)
.build();
}
}
yml配置文件(根据自己的项目写,此配置文件和配置类仅限于本项目)
# 应用名称
spring:
# 配置文件上传大小限制
servlet:
multipart:
max-file-size: 200MB
max-request-size: 200MB
minio:
endpoint: xxxx
accessKey: xxx
secretKey: xxx
//启动类一定要扫描包,要不然会注入失败(空指针异常)
@SpringBootApplication()
//这里还需要扫描controller包,否则会404
@ComponentScan(basePackages = {"com.jm.component.minio","com.example.demo"})
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
@PostConstruct 注解 参考链接:https://blog.csdn.net/qq_37248504/article/details/108763378