做网站是什么工作,凡科网之前做的网站在哪看,天津网站制作专业,河北邢台有几个区县壹、核心概念#xff1a;
1.1. IOC和DI
IOC#xff08;Inversion of Control#xff09;控制反转#xff1a;对象的创建控制权由程序转移到外部#xff0c;这种思想称为控制反转。/使用对象时#xff0c;由主动new产生对象转换为由外部提供对象#xff0c;此过程种对象…壹、核心概念
1.1. IOC和DI
IOCInversion of Control控制反转对象的创建控制权由程序转移到外部这种思想称为控制反转。/使用对象时由主动new产生对象转换为由外部提供对象此过程种对象创建控制权由程序转移到外部此思想称为控制反转。/Spring提供了一个容器称为IoC容器用来充当Ioc思想中的“外部”。/IoC容器负责对象的创建、初始化等一系列工作被创建或被管理的对象在IoC容器中统称为Bean。
DIDependency Injection依赖注入在容器中建立bean与bean之间的依赖关系的整个过程称为依赖注入。
Spring实现充分解耦使用IoC容器管理bean在IoC容器内将有依赖关系的bean进行关系绑定。
实现效果使用对象时不仅可以直接从IoC容器中获取并且获取到的bean已经绑定了所有的依赖关系。
贰、重要知识点
2.1 property标签
property标签表示配置当前bean的属性name属性表示配置哪一个具体的属性ref属性表示参照哪一个bean。
2.2 给bean起别名
在bean标签的name属性中指定名称多个别名之间可以用逗号、分号或者空格分隔。 在
2.3 bean的作用范围
通俗地说看造的对象是单例的还是非单例的。
在bean标签的scope属性中进行修改singleton是单例prototype是非单例默认是单例的。
Spring帮我们管理的是可以复用的对象提高我们的效率。
适合交给容器进行管理的bean可以反复用表现层对象业务层对象service数据层对象dao工具对象。不适合交给容器进行管理的bean有状态的会记录成员变量的属性值封装实体的域对象。
叁、实际操作过程
一、配置Spring文件
1.1 初始
管理什么Service与Dao
如何将被管理的对象告知IoC容器配置
被管理的对象交给IoC容器如何获取到IoC容器接口
IoC容器得到后如何从容器中获取bean接口方法
使用Spring导入哪些坐标pom.xml
第1步导入Spring坐标记得刷新Maven如下
dependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion5.2.10.RELEASE/version
/dependency
第2步定义Spring管理的类接口
BookService如下
public interface BookService {public void save();
}
BookServiceImpl如下
public class BookServiceImpl implements BookService{private BookDao bookDao new BookDaoImpl();public void save(){bookDao.save();}
}
第3步创建Spring配置文件配置对应类作为Spring管理的bean
点击resources然后New-XML Configuration File-Spring Config 新建的.xml文件名为applicationContext.xml 写入
!--2.配置bean--bean idbookDao classcom.itheima.dao.impl.BookDaoImpl/bean idbookService classcom.itheima.service.impl.BookServiceImpl/
bean标签里的class属性表示给bean定义类型id属性表示给bean起名字。 第4步初始化IoC容器Spring核心容器/Spring容器通过容器获取bean 右键java-New-Java Class创建一个名为App的文件 public class App {public static void main(String[] args) {//获取IoC容器ApplicationContext ctx new ClassPathXmlApplicationContext(applicationContext.xml);//获取beanBookDao bookDao (BookDao)ctx.getBean(bookDao);bookDao.save();BookService bookService (BookService) ctx.getBean(bookService);bookService.save();}
}
1.2 完善
第1步删除使用new的形式创建对象的代码第2步提供依赖对象对应的setter方法
public class BookServiceImpl implements BookService{//5.删除业务层中使用new的方式创建的dao对象private BookDao bookDao;public void save(){bookDao.save();}//6.提供对应的set方法public void setBookDao(BookDao bookDao) {this.bookDao bookDao;}
}
第3步配置service与dao之间的关系