IoC容器,使用注解方式加载bean,入门注解,java反射了解

这节课首先我们学习下注解,使用注解在代码中对bean进行定义
首先来到官网https://docs.spring.io/spring/docs/5.0.3.RELEASE/spring-framework-reference/core.html#beans-annotation-config
https://docs.spring.io/spring/docs/5.0.4.RELEASE/spring-framework-reference/core.html#beans-java
接下来演示下代码
首先创建一个MyConfig文件
目录如下

image.png

代码如下
image.png

根据官网可知 在MySpring中调用如下
image.png

运行结果
image.png

下面将setUserNameLength参数改为6
代码如下
image.png

运行结果
image.png

上面代码即为注解方式加载bean对象
下面我们学习一些其他知识点。
image.png

以后我们会了解到什么时候使用xml方式好还是注解方式好
假设有这样的需求 数据库中有许多字符串连接字符串包括用户名密码等等 我们把这些写在myuser.xml文件中也是可以的 这里面有大量的常量字符串 这种明显写在xml中更方便
接下来我们对自定义注解进行编码
首先在com.jtthink下面创建一个MyAnnos包(注解)
接下来在SpringBean下面创建一个测试文件MyTest.java文件
目录如下
image.png

代码如下
image.png

接下来创建一个注解
在MyAnnos中创建一个NameCheck注解文件
image.png

接下来在MyTest文件中打上注解
image.png

有了注解之后,我们的代码是否能通过注解产生一些变化呢?
在注解里面是不能写任何代码的 会报错
接下来在MySpring中写入测试代码
image.png

运行结果
image.png

可以看见输出了bhc 注解没有产生任何作用
所以接下来我们需要了解反射这个功能
image.png

反射:在程序运行的过程中,去加载某一个类或对象,也叫作动态加载
image.png

接下来我们写下代码
image.png

运行结果
image.png

以上代码为通过反射方式获取MyTest类中的方法
下面通过反射的方式获取注解
image.png

运行结果
image.png

结果为空 说明并没有获取到注解
是因为注解代码中需要写入一些修饰内容
接下来学习下注解的生命周期
image.png

image.png

接下来修改一下NameCheck中的注解
image.png

把MySpring中取出注解的地方做下修改
image.png

因为我们的注解打在了showName方法上 所以需要通过方法取出注解 不能通过类取出
运行结果
image.png

可以看见取出了注解内容
接着修改下MyTest中打入注解内容
image.png

运行结果
image.png

可以看见注解发生了变化
那么这样写注解有什么作用呢
得到注解后可以做一个判断
看如下代码
image.png

运行结果
image.png

所以在spring内容有庞大的程序对我们的注解进行控制,其也是使用反射的方式
下面我们接着修改一下MySpring代码
image.png

运行结果
image.png

我们将name值做下修改
image.png

运行结果
image.png

image.png

执行了上面的invoke方法 输出了showName值

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容