spring boot 新建一个module 无法加载配置
报错
在spring 配置文件中配置了一个 dev 环境
# Spring配置
spring:
profiles:
active: dev
# 资源信息
messages:
# 国际化资源文件路径
basename: i18n/messages
# 文件上传
servlet:
multipart:
# 单个文件大小
max-file-size: 10MB
# 设置总上传的文件大小
max-request-size: 20MB
# 服务模块
devtools:
restart:
# 热部署开关
enabled: true
# 数据源配置
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
druid:
master:
url: jdbc:mysql://localhost:3306/wechat_timer?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: th.980224
# 从库数据源
slave:
# 从数据源开关/默认关闭
enabled: false
url:
username:
password:
# 初始连接数
initialSize: 5
# 最小连接池数量
minIdle: 10
# 最大连接池数量
maxActive: 20
# 配置获取连接等待超时的时间
maxWait: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
minEvictableIdleTimeMillis: 300000
# 配置一个连接在池中最大生存的时间,单位是毫秒
maxEvictableIdleTimeMillis: 900000
# 配置检测连接是否有效
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
webStatFilter:
enabled: true
statViewServlet:
enabled: true
# 设置白名单,不填则允许所有访问
allow:
url-pattern: /druid/*
# 控制台管理用户名和密码
login-username: sub
login-password: 123456
filter:
stat:
enabled: true
# 慢SQL记录
log-slow-sql: true
slow-sql-millis: 1000
merge-sql: true
wall:
config:
multi-statement-allow: true
# redis 配置
redis:
# 地址
host: localhost
# 端口,默认为6379
port: 6379
# 数据库索引
database: 0
# 密码
password:
# 连接超时时间
timeout: 10s
lettuce:
pool:
# 连接池中的最小空闲连接
min-idle: 0
# 连接池中的最大空闲连接
max-idle: 8
# 连接池的最大数据库连接数
max-active: 8
# #连接池最大阻塞等待时间(使用负值表示没有限制)
max-wait: -1ms
我看到这个报错,看来一下我的配置文件并没有什么问题,
***************************
APPLICATION FAILED TO START
***************************
Description:
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
Reason: Failed to determine suitable jdbc url
Action:
Consider the following:
If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
If you have database settings to be loaded from a particular profile you may need to activate it (the profiles druid are currently active).
网上搜索都是说在spring boot 启动类上面加上 一下注解 DataSourceAutoConfiguration.class,因为自己已经配置了DataSuorec 所以不需要spring boot 自己去装配了。但是实际并没有解决,后来发现上述问题是我这个项目没有扫描到对应的配置文件。
@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})
public class subWechatApplication {
public static void main(String[] args)
{
// System.setProperty("spring.devtools.restart.enabled", "false");
SpringApplication.run(subWechatApplication.class, args);
System.out.println("(♥◠‿◠)ノ゙ wechat启动成功 ლ(´ڡ`ლ)゙ \n" +
"@@@@@@ @@@ @@@ @@@ @@@ @@@@@@@ @@@ @@@@@@@ @@@@@@@ \n" +
" @@@@@@@ @@@ @@@ @@@@ @@@ @@@@@@@@ @@@ @@@@@@@@ @@@@@@@@\n"+
" !@@ @@! @@@ @@!@!@@@ @@! @@@ @@! @@! @@@ @@! @@@\n"+
" !@! !@! @!@ !@!!@!@! !@ @!@ !@! !@! @!@ !@! @!@\n"+
" !!@@!! @!@ !@! @!@ !!@! @!@!@!@ !!@ @!@!!@! @!@ !@!\n"+
" !!@!!! !@! !!! !@! !!! !!!@!!!! !!! !!@!@! !@! !!!\n"+
" !:! !!: !!! !!: !!! !!: !!! !!: !!: :!! !!: !!!\n"+
" !:! :!: !:! :!: !:! :!: !:! :!: :!: !:! :!: !:!\n"+
"::: :: ::::: :: :: :: :: :::: :: :: ::: :::: ::\n"+
": : : : : : :: : :: : :: : : : : :: : : ");
}
}
直接加上@ComponentScan(basePackages =“com.sub”) 就没问题了,是怎么知道没有扫配置文件的,我去debug 自己的DataSuorec class 发现没有进来,所以断定没有扫描到配置文件。 @ComponentScan 注解是扫描对应的包下面的类。
@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})
@ComponentScan(basePackages ="com.sub")
public class subWechatApplication {
public static void main(String[] args)
{
// System.setProperty("spring.devtools.restart.enabled", "false");
SpringApplication.run(subWechatApplication.class, args);
System.out.println("(♥◠‿◠)ノ゙ wechat启动成功 ლ(´ڡ`ლ)゙ \n" +
"@@@@@@ @@@ @@@ @@@ @@@ @@@@@@@ @@@ @@@@@@@ @@@@@@@ \n" +
" @@@@@@@ @@@ @@@ @@@@ @@@ @@@@@@@@ @@@ @@@@@@@@ @@@@@@@@\n"+
" !@@ @@! @@@ @@!@!@@@ @@! @@@ @@! @@! @@@ @@! @@@\n"+
" !@! !@! @!@ !@!!@!@! !@ @!@ !@! !@! @!@ !@! @!@\n"+
" !!@@!! @!@ !@! @!@ !!@! @!@!@!@ !!@ @!@!!@! @!@ !@!\n"+
" !!@!!! !@! !!! !@! !!! !!!@!!!! !!! !!@!@! !@! !!!\n"+
" !:! !!: !!! !!: !!! !!: !!! !!: !!: :!! !!: !!!\n"+
" !:! :!: !:! :!: !:! :!: !:! :!: :!: !:! :!: !:!\n"+
"::: :: ::::: :: :: :: :: :::: :: :: ::: :::: ::\n"+
": : : : : : :: : :: : :: : : : : :: : : ");
}
}