就不想放在主类包下面,也可以,在主类上面打个包扫描注解
(没有必要给自己找麻烦)
一个特定开发环境中的所有jar包的整合
每个场景启动器中会有自动创建当前场景中需要使用的常用类
常用的类的对象创建以后,常用属性都有默认值,开发中不想使用这些固定的值,可以在SpringBoot的配置文件中修改,修改的属性值都是通过XxxxProperties类的setXxx()方法修改的
``
xml(不推荐使用)
``
注解(推荐使用) :自己的类就打注解@Component@Service@Repository@Controller@Value
配置类(推荐使用):系统的类就用配置类
来替代注解和xml配置文件
类似这种做法,SpringBoot是怎么做的呢(具体见下文配置文件的原理及写法和配置类写法)
都可以直接自动注入
插件,可以自动生成无参构造,全参构造,get/set/toString
-javaagent:D:\develope\sts-3.9.7.RELEASE\lombok.jar
自己加这么一句话,一样的
配置pom,要先装好插件
get/set/toString就都有了
比较细的注解
只写get和只写set
SpringBoot的默认配置文件是.properties和.yml,不推荐视同xml(可以用)
server类下面有属性port和servlet,port是个String类型的值;而servlet是个对象,有属性context-path,之间的层级关系用.来表示
层级关系用换行和对其来表示,格式要求:
这边配端口号
这边配路径,想层叠样式表一样使用
有冲突,properties优先级更高,则properties的配置生效
想在配置文件里给自定义类注入值,要打这个注解,系统是怎么识别到你的配置文件是给这个类注入呢?
系统底层的配置类已经写好了,你在application.properties配置文件写,就会注入到配置类里面
就是这个prefix前缀,通过这个前缀找到这个类,再通过配置文件里的属性,如果能与这个类对得上,就注入到这个类中
此时你在配置文件打student是没有提示的
黄色的已经提示你了,加一个配置处理的依赖
刷新一下项目就有提示了
写好两个类,@Component是创建对象的,需要创建对象就要打这个注解
测试类
这样属性值就都注入进去了
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rLnbwKFj-1602133456203)(C:/Users/CEO/AppData/Roaming/Typora/typora-user-images/image-20201008100629720.png)]
对比yml,properties的优先级更高,没有冲突就合并注入
结果
之前在Spring中用的就是@Value,在SpringBoot中也可以用,因为底层就是Spring,只支持字符串和基本类型的注入
缺点:域属性,集合都注入不进来
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C3V9xOKh-1602133456204)(C:/Users/CEO/AppData/Roaming/Typora/typora-user-images/image-20201008111128006.png)]
不想放在系统指定的配置文件下面,或者配置文件太多,想分开放
自定义student配置文件,但是系统读不到
属性值配置不是配置在默认配置文件下,必须指定加载路径
这时要在你要注入的配置类上面加一个类似于placeholder的注解@PropertySource,让系统找到配置文件的位置
source来源;resource资源
注意系统自动注入的ac是读不到除系统指定的其他配置文件的
这时我们要在主类上面打一个注解,@ImportResource,指定加载配置文件
使用一个类来代替xml配置文件和注解
注意:bean的id名字就是方法名,不像之前大驼峰变小驼峰
不想使用方法名,就用@Bean(“名字”)