把报错的三个给删了,系统可以运行了我猜测它对应的是商品分类页面
我觉得它分页器有问题所以研究了下userdto和mtuser的区别
Failed to parse configuration class [com.fuint.fuintApplication]; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'env.properties.path' in value "file:${env.properties.path}/${env.profile}/application.properties"
现在我们去了解一下注解
尚硅谷_SpringBoot_配置-properties配置文件编码问题
@ConfigurationProperties默认是从全局配置文件获取值,然后呢如果全写全局配置文件的话未免太过臃肿,所以呢我们可以用@propertySource,写个另外的person.properties把和person有关的呢都放这来,你想用类路径下的多个配置文件可以用数组{classpath:}
@ImportResource:导入Spring的配置文件,让配置文件里面的内容生效;
Spring Boot里面没有Spring的配置文件,我们自己编写的配置文件,也不能自动识别:
想让Spring的配置文件生效,加载进来;@ImportResource标注在一个配置类上
可以用这个来测试一下
如果只是按照我们之前的先搞个bean的xml,在ioc容器中看看有没有这实例
打印出false说明spring不自动识别配置文件
所以我们加上注解把配置文件@importSource
此时为true了
springboot推荐添加组件的方式是通过添加配置类来实现的
占位符
如果没对应的值那么运行会报错,搞一个占位符然后就可以设置没有的时候的默认值
profile多环境配置
1. yml激活
2.properties里激活
3.命令行激活会变成dev
4.打包命令行
java -jar spring-boot-02-config-0.0.1-SNAPSHOT.jar--spring.profiles.active=dev
5.虚拟机参数-Dspring.profiles.active=dev
配置文件的优先级
默认好像在类路径下(类路径 就是项目的src下)
优先级互补
优先级由高到底,高优先级的配置会覆盖低优先级的配置:
SpringBoota会从这四个位置全部加载主配置文件;互补配置:
在G盘写个配置文件用8085端口,但是还是会按优先级然后互补配置
也互补用到了低优先级的项目名配置boot02
用了外头的配置,端口号变为8085了
那么外部配置是按照啥顺序来的呢
但是我们指定之后就会变成8087
这是打包之后按照默认来的
又遇到问题1.
2.
3.
我怀疑是redis的原因因为我没下载它哈哈所以我去学习redis了