Java开发之Spring框架入门学习

项目目录

image

控制反转-IOC

步骤:

导入相关jar包 lib

编写Spring配置文件(名称可自定义), beans.xml

定义类:

package com.xj.bean;

public class Hello {

private String name;

public Hello() {

System.out.println(“Hello对象被创建”);

}

public void setName(String name) {

this.name = name;

}

public void show() {

System.out.println(“我亲爱的,” + name);

}

}

编写Spring配置文件(名称可自定义), beans.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”>

测试代码:

package com.xj.test;

import com.xj.bean.Hello;

import javafx.application.Application;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test {

public static void main(String[] args) {

//解析beans.xml文件,生产相应的bean对象

ApplicationContext context = new ClassPathXmlApplicationContext(“beans.xml”);

Hello hello = (Hello)context.getBean(“hello”);

hello.show();

}

}

output:

十一月 07, 2019 10:02:34 下午 org.springframework.context.support.AbstractApplicationContext prepareRefresh

信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@244038d0: startup date [Thu Nov 07 22:02:34 CST 2019]; root of context hierarchy

十一月 07, 2019 10:02:34 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions

信息: Loading XML bean definitions from class path resource [beans.xml]

Hello对象被创建

我亲爱的,中国

Process finished with exit code 0

思考:

1、Hello对象是谁创建的?

可以使用hello.show();调用它的方法,说明Hello对象被创建。

Hello对象是由Spring容器创建的

2、hello对象的属性是怎么设置的(即name怎么得到“中国”的)?

Hello对象的属性是由Spring容器设置的,这个过程就叫控制反转

控制的内容:指谁来控制对象的创建,传统的应用程序对象的创建是由程序本身,使用Spring之后,由Spring来创建对象。想学习交流HashMap,nginx、dubbo、Spring MVC,分布式、高性能高可用、MySQL,redis、jvm、多线程、netty、kafka、的加尉xin(同英):1253431195 扩列获取资料学习,无工作经验不要加哦!

反转:(创建对象的)权限的转移

正转:指程序来创建对象;

反转:指程序本身不去创建对象,而变为被动的去接收由Spring容器创建的对象。

总结:以前对象由程序本身(service实现类)来创建,使用Spring后,程序变为被动接收Spring创建好的对象。

控制反转:–依赖注入(dependency injection)

依赖注入(dependency injection)

比如:Hello类,依赖name,name的值是通过容器来设置的。

反过来,“中国”这个value是通过

public void setName(String name){

this.name = name;

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值