- IoC负责管理什么:Service和Dao
- 如何被管理的对象告知IoC容器:(配置)
- 被管理的对象交给IoC容器,如何获得IoC容器:(接口)
- IoC容器得到之后,如何获得Bean:(接口方法)
- 使用Spring所需要导入的坐标:(pom.xml)
- 创建Maven项目 , 在pom.xml中导入坐标
<dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.10.RELEASE</version></dependency></dependencies>
- 创建Spring.xml的配置包(applicationContext.xml,导入坐标后xml中更新该XML)
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><!--2.配置bean--><!--bean标签标示配置beanid属性标示给bean起名字class属性表示给bean定义类型(注意需要是实现类)--><bean id="bookDao" class="com.itheima.dao.impl.BookDaoImpl"/><bean id="bookService" class="com.itheima.service.impl.BookServiceImpl"/></beans>
- 主函数
package com.itheima;import com.itheima.dao.BookDao;import com.itheima.service.BookService;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class App2 {public static void main(String[] args) {//3.获取IoC容器ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");//4.获取bean(根据bean配置id获?。?//BookDao bookDao = (BookDao) ctx.getBean("bookDao");//bookDao.save();// 注意:需要类型转化BookService bookService = (BookService) ctx.getBean("bookService");bookService.save();}}
DI入门首先我们需要明白DI的使用规则:- 基于IoC管理bean
- Service中使用new形式创建Dao对象是否保留:(否)
- Service中需要Dao对象如何进入到Service中:(提供方法)
- Service与Dao之间的关系如何描述:(配置)
- 删除new方法
public class BookServiceImpl implements BookService {//5.删除业务层中使用new的方式创建的dao对象private BookDao bookDao;public void save() {System.out.println("book service save ...");bookDao.save();}}
- 创建对象的set方法
public class BookServiceImpl implements BookService {//5.删除业务层中使用new的方式创建的dao对象private BookDao bookDao;public void save() {System.out.println("book service save ...");bookDao.save();}//6.提供对应的set方法public void setBookDao(BookDao bookDao) {this.bookDao = bookDao;}}
- 创建Dao和Service的连接
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><!--2.配置bean--><!-- bean标签标示配置beanid属性标示给bean起名字class属性表示给bean定义类型 --><bean id="bookDao" class="com.itheima.dao.impl.BookDaoImpl"/><bean id="bookService" class="com.itheima.service.impl.BookServiceImpl"><!--7.配置server与dao的关系--><!--注意:在server中配置关系property标签表示配置当前bean的属性name属性表示配置哪一个具体的属性ref属性表示参照哪一个bean--><property name="bookDao" ref="bookDao"/></bean></beans>
Bean整体介绍Bean是保存在IoC中的对象 , 我们通过配置的方式获得Bean下面我们从三个方面分别讲解Bean:
bean基本配置首先我们先介绍bean本身性质:
类别描述名称bean类型标签所属beans标签功能定义Spring核心容器管理对象格式<beans><bean> </bean></beans>属性列表id:bean的id , 使用容器可以通过id值获得对应的bean,在一个容器中id值唯一class:bean的类型,即配置的bean的全路径类名范例<bean id="bookService" class="com.itheima.service.impl.BookServiceImpl">然后我们介绍一下bean的别名:
类别描述名称name类型标签所属bean标签功能定义bean的别名,可定义多个,使用逗号,分号 , 空格分隔范例<bean id="bookService" name="service service4 bookEbi" class="com.itheima.service.impl.BookServiceImpl">
正常情况下,使用id和name都可以获得bean,但推荐还是使用唯一id
获得bean无论通过id还是name获取,如果无法找到则抛出异常NosuchBeanDefinitionException推荐阅读
- 怎么玩军棋(军棋新手教程)
- ipad怎么打开分屏(ipad怎么分屏打游戏)
- ipad分屏怎么恢复(ipadair2能不能分屏)
- ipad如何打开分屏模式(ipad分屏取消的方法)
- ipad分屏怎么打开(ipad第九代分屏功能)
- ipad如何设置分屏(ipad九代分屏操作方法)
- iPad分屏怎么用(ipadpro怎么分屏)
- ipad如何左右分屏(ipad第五代可以分屏吗)
- 手机指南针怎么看(指南针怎么看方向)
- 指南针怎么看方向(指南针罗盘)