当前位置: 首页 > news >正文

中山大兴网站建设拍摄宣传片

中山大兴网站建设,拍摄宣传片,影视源码,wordpress 全站加密在学习使用Spring Boot框架时候,发现了一个特别的现象UserMapper是一个接口,在另一个类中好像直接使用Autowired装配了一个UserMapper对象???我纳闷了一会儿,接口居然可以直接实例对象吗?根据我…

在学习使用Spring Boot框架时候,发现了一个特别的现象

UserMapper是一个接口,在另一个类中好像直接使用@Autowired装配了一个UserMapper对象???我纳闷了一会儿,接口居然可以直接实例对象吗?

根据我对的Java基础知识的了解,接口和抽象类都只是描述了一个轮廓、实现,不能直接作为一个对象去实例化使用的,都需要具体的类去继承和实现。

后来查阅资料才知道,接口确实是不能直接实例化的!要想使用接口作为对象,需要用到匿名内部类,及就是在多线程编程中经常使用的那个..

实现接口的匿名内部类

多线程中我们经常会实例一个继承Thread的匿名内部类:

class MyThread extends Thread {@Overridepublic  void run() {System.out.println("继承Thread, 重写run");}
}

这里就是使用{}大括号,在大括号中直接重写必要的方法,然后形成一个匿名内部类。

当然这里的Thread并不是一个抽象类也不是一个接口,但是道理是相同的。

我们只要在创建实现接口的匿名内部类时候,在大括号{}中实现接口的所有方法即可。

创建一个测试接口:

public interface ITest {public String test();
}

然后在一个类中尝试创建”ITest对象“

其实在尝试new的时候IDEA已经给了你提示(需要通过{}来创建匿名内部类)了,根据提示敲下enter就会得到:

public class Test {private  ITest iTest = new ITest() {@Overridepublic String test() {return null;}};
}

所以小结就是,”接口对象“这个说法是错误的!

本质上也没有接口对象,但是有实现接口的匿名内部类。

而最开始展示的Spring Boot中使用@Autowired注解,构建了一个”接口对象“,实际上只是Spring Boot内部隐藏了实现接口并创建匿名内部类的过程和样子,留下像是自动装配接口对象的样子。

写到这里已经开始感慨自己基本功有点不扎实了..其实要是匿名内部类学的够清晰应该也不至于对这个所谓的”接口对象“产生这么大的疑惑。

@Mapper的功能之一

不过我又发现了一个问题。我理解的@Autowired功能是将Spring IoC容器中构建好的对象在需要的时候注入进去,而这是需要配合五大类注解如@Component、@Configuration这些来使用的。

使用类注解注释的类才能被自动装配,否则会报异常(Spring中找不到对应的Bean,忘记叫什么exception了)。

而最开始的接口我并没有使用类注解进行注释,而是使用@Mapper来进行注释的。

所以我对@Mapper的理解也是相当匮乏..我最初只是觉得它是标识映射器,用来连接与接口对应的xml和数据库的。

查阅资料知道,@Mapper能够给接口自动生成一个实现类(匿名内部类),并且将这个类托管给Spring进行管理。这也就印证了为啥可以在接口头上使用@Autowired了..

http://www.yayakq.cn/news/28477/

相关文章:

  • 建设网站经验wap网站制作教程
  • 做网站建设的技巧wordpress评论限速
  • 做网站和做软件哪个有发展中文命名网页制作素材会怎么样
  • 网站图片素材下载做诚信通谁给做网站
  • 国际贸易英文网站沭阳做网站公司排名前十
  • 南宁本地网站有哪些?没本钱一个月赚10万
  • 万户建站长春建站优化加徽信xiala5效果好
  • 闸北建设机械网站做教育网站用什么颜色
  • 深圳网站设计电话网站后台用户管理系统
  • 凡科建站怎么删除网站建设佛山seo技术
  • 怎么做网站的快照wordpress 网站打开速度慢
  • 百度一下百度搜索网站安装wordpress数据库500
  • 站长工具查询系统seo索引擎优化
  • 安陆市建设局网站手机网站知识
  • 网站群建设招标网站建设商标在哪个类别
  • 什么人做网站江苏省建设厅官方网站公式公告
  • 长春网络营销网站要怎么判断网站是什么cms做的
  • 济南伍际网站建设郑州网站优化工资
  • 网站便宜建设合肥网站建设 毅耘
  • 江苏网络公司网站建设足球比赛直播在线
  • 有哪些做的好看的网站吗用路由器建设网站
  • 网站建设明细费用张雪峰谈软件工程专业
  • 汽车行业网站设计做一个介绍网站多少钱
  • 一个网站如何创建多个页面建企业网站需要哪些资料
  • 网站建设的技术舒兰市城乡建设局网站
  • 网站黄金比例wordpress界面变宽
  • 济南网站制作公司报价c2c网站 多钱
  • 站长网站北京网站开发需要多少钱
  • 襄阳市网站建设360免费建站连接
  • 青岛原创工程设计有限公司seo排名系统