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

spring入门(二)IOC入门案例和DI入门案例

一、IOC入门案例

实现步骤:
第一步 、使用Maven导入Spring坐标

<dependencies><!--导入spring的坐标spring-context--><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>RELEASE</version></dependency>
</dependencies>

第二步、定义Spring管理的类(接口)

BookDao接口和BookDaoImpl实现类:

public interface BookDao {public void save();
}public class BookDaoImpl implements BookDao {public void save() {System.out.println("book dao save ...");}
}

BookService接口和BookServiceImpl实现类:

public interface BookService {public void save();
}public class BookServiceImpl implements BookService {private BookDao bookDao = new BookDaoImpl();public void save() {System.out.println("book service save ...");bookDao.save();}
}

第三步、创建Spring配置文件,配置对应类作为Spring管理的bean对象

定义applicationContext.xml配置文件并配置BookServiceImpl

<?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"><!--bean标签:表示配置beanid属性:表示给bean起名字class属性:表示给bean定义类型--><bean id="bookService" class="com.it.service.impl.BookServiceImpl"></bean></beans>

==☆☆注意事项:bean定义时id属性在同一个上下文中(IOC容器中)不能重复☆☆==

第四步、初始化IOC容器(Spring核心容器/Spring容器),通过容器获取Bean对象

public class App {public static void main(String[] args) {//1.创建IoC容器对象,加载spring核心配置文件ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");//2 从IOC容器中获取Bean对象(BookService对象)BookService bookService= (BookService)ctx.getBean("bookService");//3 调用Bean对象(BookService对象)的方法bookService.save();}
}

运行测试成功。打印service层和dao层的save方法。

二、DI入门案例

第一步、删除使用new的形式创建对象的代码


 

public class BookServiceImpl implements BookService {private BookDao bookDao;  //【第一步】删除使用new的形式创建对象的代码public void save() {System.out.println("book service save ...");bookDao.save();}
}


第二步、提供依赖对象对应的setter方法

public class BookServiceImpl implements BookService {private BookDao bookDao;public void save() {System.out.println("book service save ...");bookDao.save();}//【第二步】提供依赖对象对应的setter方法public void setBookDao(BookDao bookDao) {this.bookDao = bookDao;}
}

第三步、配置service与dao之间的关系

 在applicationContext.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"><!--bean标签:表示配置beanid属性:表示给bean起名字class属性:表示给bean定义类型--><bean id="bookDao" class="com.it.dao.impl.BookDaoImpl"/><bean id="bookService" class="com.it.service.impl.BookServiceImpl"><!--配置server与dao的关系property标签:表示配置当前bean的属性name属性:表示配置哪一个具体的属性ref属性:表示参照哪一个bean--><property name="bookDao" ref="bookDao"/></bean>
</beans>

运行测试成功。打印service层和dao层的save方法。


http://www.mrgr.cn/news/21172.html

相关文章:

  • golang入门
  • 用华为智驾,开启MPV的下半场
  • 购买白酒的坑,你踩过哪几个?哪个坑伤的最痛!
  • 数据结构之双向链表的实现
  • CRUD的最佳实践,联动前后端,包含微信小程序,API,HTML等(三)
  • erlang学习:用ETS和DETS存储数据3,保存元组到磁盘
  • 别再羡慕别人啦,四种方法轻松打造自己的IP形象
  • 《机器学习》 基于SVD的矩阵分解 推导、案例实现
  • 【鸿蒙HarmonyOS NEXT】调用后台接口及List组件渲染
  • k8s技术架构
  • Linux日志-sar日志
  • AI基础 L2 Agents1
  • 类和对象(中)
  • 灰光模块,彩光模块-介绍
  • Zotero引用参考文献常见问题及解决方法
  • 鸿蒙轻内核M核源码分析系列十一(1) 信号量Semaphore
  • 监理工程师专业划分-注册监理工程师每人最多可以申请两个专业注册
  • 兴业小知识|什么 法拍房保证金还有不予退回的情况
  • Lenze伦茨E82ZBC, E82ZBB E82ZMBRB安装说明手测
  • 考研英语作文高频20大句式总结