栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

2021/10/16 北京 springboot系列(第二天-2) 底层注解

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021/10/16 北京 springboot系列(第二天-2) 底层注解

springboot自动配置

这是官网图,主程序包及其下面所有子包里面的组件都会被默认扫描进来。直接看图片结构,体会体会什么叫一目了然

 当然了还会给我们自动配置好springmvc常用功能,配置好web常用的功能,比如字符编码(不能识别中文),配好Tomcat,是我想要的效果(坏笑)

spring容器添加组件,写xml配置,想细看吗,不想!那就跟我去看springboot是怎么实现的

 我们观察粗略的看到了

@Configuration 作用是告诉Springboot这是一个配置类,注意它是.java文件

@bean 方法名会作为组件的id,return 返回的实例就是组件在容器中的实例

当然这图里还有细节,比如proxyBeanMethods它为true和false的区别?)(目前先了解粗浅的就够用了)

 那么,重点来了,也是我喜欢的一项活:观察容器里现在有哪些组件

在主程序里这么写:通过IOC容器查看容器里的组件
run.getBeanDefinitionNames();//获取所有,还要循环遍历输出

当然也可以通过名字获取单个组件
run.getBean("tom",Pet.class)//获取tom这个组件,值得注意的是本来说好的
方法名是组件id,@Bean('tom')可以起别名

在图中可以看到,获取了俩次tom这个组件,他俩是一样的。也就是默认单实例

当然还可以批量注册组件用@import,条件装配组件用@ConditionalBean

 比如,pet是user类里的一个属性,那么pet类要是没有注册到容器的话,我们得user类也不能注册到容器里怎么写·呢  答案是:@ConditionalBean

User zhangsan=new User('zhangsan',18)
zhangsan.setPet(tomcatPet());

额外的冷知识:

lombok:我理解就是来写javaBean的神器

@Data 帮你写set,get方法的
@NoArgsConstructor   帮你写无参构造器
@AllArgsConstructor  帮你写全参构造器
@ToString 帮你重写tostring

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/327545.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号