全站资源开放下载,感谢广大网友的支持
链接失效请移步职涯宝平台的学习路线|资源下载分类
支持用户留言评论_客服实时在线_问题解决更快
非盈利平台

非盈利平台

只为分享一些优质内容

Java帮帮-微信公众号

Java帮帮-微信公众号

将分享做到极致

微信小程序

微信小程序

更方便的阅读

百度小程序

百度小程序

搜索便捷阅读

支付宝小程序

支付宝小程序

支付也能阅读

程序员生活志-公众号

程序员生活志-公众号

程序员生活学习圈,互联网八卦黑料

支付宝赞助-Java帮帮社区
微信赞助-Java帮帮社区

spring学习:控制反转( Ioc)急速入门,看图理解【云图智联】

3
发表时间:2020-07-23 15:24

2.1 什么是控制反转(IOC:Inverse of Control)

IOC反转控制,实际上就是将对象的创建权交给了Spring,程序员无需自己手动实例化对象。

ioc1.png

ioc2.png

可以看出来工厂的作用就是用来解耦合的,而在使用spring的过程中,spring就是充当这个工厂的角色。IOC反转控制,实际上就是将对象的创建权交给了Spring,程序员无需自己手动实例化对象

2.2、Spring编程—IOC程序实现

2.2.1建立spring工程(基于maven)

pom.xml

  1. <dependencies>

  2.     <dependency>

  3.         <groupId>org.springframework</groupId>

  4.         <artifactId>spring-context</artifactId>

  5.         <version>4.2.6.RELEASE</version>

  6.     </dependency>

  7.     <dependency>

  8.             <groupId>junit</groupId>

  9.             <artifactId>junit</artifactId>

  10.             <version>4.12</version>

  11.         </dependency>

  12. </dependencies>

2.2.2 编写Java类

接口:

  1. public interface HelloService {

  2.     public void sayHello();

  3. }

实现类:

  1. public class HelloServiceImpl implements HelloService {

  2.     public void sayHello(){

  3.         System.out.println("hello,spring");

  4.     }

  5. }

2.2.3 编写配置文件

在resource目录下创建applicationContext.xml

  1. <?xml version="1.0" encoding="UTF-8"?>

  2. <!-- 引入约束 -->

  3. <beans xmlns="http://www.springframework.org/schema/beans"

  4.        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  5.        xsi:schemaLocation="

  6. http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">


  7.     <!-- 配置实用哪个实现类对Service接口进行实例化 -->

  8.     <!-- 配置实现类HelloServiceImpl,定义名称helloService -->

  9.     <bean

  10.             id="helloService"

  11.             class="com.tianshouzhi.spring.HelloServiceImpl">

  12.     </bean>

  13. </beans>

2.2.4 测试

  1. public class HelloServiceTest {

  2.     //传统写法(紧密耦合)

  3.     @Test

  4.     public void traditionalTest(){

  5.         HelloService service = new HelloServiceImpl();

  6.         service.sayHello();

  7.     }


  8.     //使用Spring

  9.     @Test

  10.     public void springTest(){

  11.         // 工厂+反射+配置文件,实例化Service对象

  12.         ApplicationContext context = new ClassPathXmlApplicationContext(

  13.                 "applicationContext.xml");

  14.         //通过工厂根据配置的实例名称获取实例对象

  15.         HelloService service2=(HelloService) context.getBean("helloService");

  16.         service2.sayHello();

  17.     }

  18. }

免费学习视频欢迎关注云图智联:https://e.yuntuzhilian.com/


Java帮帮学习群生态

Java帮帮学习群生态

总有一款能帮到你

Java学习群

Java学习群

与大牛一起交流

大数据学习群

大数据学习群

在数据中成长

九点编程学习群

九点编程学习群

深夜九点学编程

python学习群

python学习群

人工智能,爬虫

测试学习群

测试学习群

感受测试的魅力

Java帮帮生态承诺

Java帮帮生态承诺

一直坚守,不负重望

初心
勤俭
诚信
正义
分享
友链交换:加帮主QQ2524138991 留言即可 24小时内答复  
满吉教育资讯
会员登录
获取验证码
登录
登录
我的资料
留言
回到顶部