赞
踩
springboot创建时idea会打开start.spring.io失败报错
可以手动打开这个页面,然后选择maven项目,然后修改group和name名然后添加依赖web,然后生成项目包,解压缩后用idea打开就能用了
运行后报错
Error:java: 无效的源发行版: 17
原因:报错是因为项目里jdk版本选择的问题,需要在sitting和struct里面分别修改成8
## resource:
static:静态资源(js,css,图片,音频,视频)
templates:模板文件(模板引擎freemarker,thymeleaf;默认不支持jsp)
application.properties:配置文件
spring boot 内置了tomcat,并且不需要在打成war包在执行了
可以在application.properties里进行参数配置例如:端口号配置
程序默认会识别application.properties和application.yml里的配置信息
当是其他文件名字的时候可以这样写。
- conf.properties是配置文件的文件名
-
- @PropertySource(value={"classpath:conf.properties"})
-
- public class Student{
-
- ...
-
- }
但是@PropertySource(value={"xxx"})只能识别properties的文件,不能识别yml的文件
1, k=v
2,或者行内写法(集合数组用中括号,可以省略,对象属性map用大括号,不可以省略
不是标记文档,
注意 1, k:空格v
2,通过垂直对齐指定层次关系
例如server:
port: 8888
path: /a/v/b
3,默认可以不写引号,双引号会将其中的转义符进行转义,单引号和不写不会转义
是一个标记文档
<server>
<port>8888</port>
</server>
多个地方配置时,如果冲突,优先级如下:
命令行参数(调用外部配置文件>运行参数)>内部文件(properties>yml)
默认会读application.properties和application.yml,相互补充,如果内容冲突,则properties中的优先级更高
这两个文件可以存在于一下4个位置,内容冲突时优先级从高到低为:
file:项目根目录/config (项目根目录和src平级)
file:项目根目录
classpath:项目根目录/config (包下)
classpath:项目根目录
外部配置文件优先级高于内部,同一个配置同时存在,外部大于内部
1,多配置修改时可以引用外部配置文件,指定外部的配置文件
2,个别配置修改时可以用命令行指定配置参数,例如:java -jar xxx.jar --server.port=8888
@ConfigurationProperties("dd")是通过yml/properties配置文件取值
注入值
yml:
student: name: zhangsan age: 11 sex: true birthday: 2024/02/25
绑定:
@Component //将此javabean放入spring容器 @ConfigurationProperties(prefix = "student") 上面这两个是引入配置文件里配置信息的作用 public class Student {
。。。}
@Component //将此javabean放入spring容器 //@ConfigurationProperties(prefix = "student") //注解和value同时用时,注解的优先级高,可以互补用 public class Student { @Value("ddd") private String name; @Value("44")//int也要加双引号 private int age ; private boolean sex; private Date birthday;
@ConfigurationProperties("dd") | @value("dd") | |
注入值 | 批量注入 | 单个 |
松散语法 注1 | 支持 | 不支持 |
spEL 注2 | 不支持 | 支持 |
JSR303数据校验(例如邮箱格式校验) | 支持 | 不支持 |
注入复杂类型 注3 | 支持 | 不支持 |
注1:松散语法举个例子pet的属性是nickName在配置文件里写成nick-name是可以注入到对象的
nickName是驼峰命名,nick-name是松散命名
注2:spEL :Spring表达式语言(Spring Expression Language,SpEL)支持下面的写法
public class Student {
@Value("${student.name}")
private String name;
注3: (8个基本类型/string/Date)是简单类型,其他的是复杂类型
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。