Java——道阻且长
今天头爆炸,感觉新的内容听了也是白听,就把前面学的好好梳理一下。
昨天吧,刚刚把IoC部分看完,今天尝试自己敲了一下,还是有很多问题,写在这里以便以后查阅。欢迎指正,大佬勿喷,感谢。
spring这个框架,概括来说,就是分成了IoC和AoP这两个部分。IoC翻译成中文,就是控制反转的意思,控制啥反转啥,其实不用这么书面化,简单地说,就是把一个实体类放到自己定义的一个bean对象中,再通过读取配置文件,获得这个类创建的对象。
好,到这儿,有些同学可能会问,bean是啥啊,你说的我还是听不明白啊,不要着急,现在我就说一说这个bean,这个东西,挺重要,如果说IoC是spring的核心技术,那这个bean可以说是IoC的地基,它里面包含两个非常重要的参数,一个是id, 还有一个是class。
举个栗子
<bean id="runner" class="org.apache.commons.dbutils.QueryRunner"></bean>
这里id就是反射了class后面这个类,之后如果想得到后面的类对象,直接getBean id就可以,而不用new一个QueryRunner对象。
说起IoC,就得提出另外一个概念,依赖注入。
IoC这个东西,之所以会被设计出来,主要目的是为了消减程序间的耦合,但spring本身就是三层架构,各个类之间免不了相互调用,在一个类里面定义另外一个类是非常常见的事情,我这个类里面new一下,那个类里面new一下,还怎么降低程序间的耦合呢?同样,bean是通过类的默认构造函数生成的类对象,如果自己定义了构造函数,则无法生成,这也是一个难搞的问题,那要怎么办呢?spring这个牛逼的框架自然是有解决方法的。为了解决这些问题,聪明的工程师们引入了依赖注入这个概念。
依赖注入有三种方式:
1.构造函数注入
2.set注入
3.利用注解注入
这个讲的挺不错的,贴在下面: https://www.cnblogs.com/cqyp/p/12498972.html