Spring程序开发步骤(目的是实现解耦)
1. 导入Spring开发的基本坐标![pom.xml文件的配置](https://i-blog.csdnimg.cn/blog_migrate/fac03405c0a1ea84df41385e71468c84.png)
2. 编写Dao层接口和实现类
3. 创建Spring核心配置文件
4. 在Spring配置文件中配置UserDapImpl
这里是在resources的下面新建了一个spring配置的xml文件,在里面添加了一条这样的语句
<bean id="UserImpl" class="cn.liu.Dao.Impl.UserImpl"></bean>
作用应该是一会能利用1的框架,按照id的方式调用UserImpl这个类。
5. 使用Spring的API获得Bean实例
然后新建一个Userdemo类,写个主函数测试一下UserImpl是否能调用实现。
Spring的开发步骤再复习一下:
第一步:导入坐标(个人感觉是pom.xml加了个依赖)。
第二步:写接口和实现类(创建Bean)。
第三步:创建applicationContext.xml。
第四步:在applicationContext里面进行配置,写了个bean标签,然后设置了id是什么,class是什么。class是第二步的Bean。这个id是第五步要用到的id。
第五步:创建ApplicationContext对象用getBean(“id”)方法。
其实写下来以后,关键就是在于spring的配置文件,就是那个applicationContext.xml文件。他在bean标签里面有两个属性。
- id: Bean实例在spring容器中的唯一标识。
- class:Bean的全限定名称。
此外还有一个scope的属性,
1.当scope的置为singleton时,spring核心文件被加载时,Bean实例化。只要容器在,对象就一直存在。容器被销毁时,对象就被销毁了。
2.当scope的置为prototype时,getBean()时,Bean实例化。只要对象一直在使用,就一直活着。当对象长时间不用时,就被Java的垃圾回收器回收了。
Bean的依赖注入概念
依赖注入(dependency Injection):它是Spring框架核心IOC的具体实现。
在编写程序时,通过控制反转,把对象创建交给了Spring,但是代码中不可能出现没有依赖的情况。IOC解耦只是降低了它们的依赖关系,但不会消除。例如:业务层仍会调用持久层的方法。
那这种业务层和持久层之间的依赖关系。在使用Spring之后,就让Spring来维护了。简单的说,就是坐等框架把持久层对象传入业务层,而不用我们自己去获取。
-------黑马学习笔记