ioc容器以及spring相关知识总结

  ioc意思是控制反转,就像是一个容器一样,之前如果想要运用对象中的方法或者变量那我们首先得创造一个对象,然后才能运用他的方法和变量,但是有了ioc就不一样了,ioc就像一个容器一样,将我们要创造的对象这一步操作由他来实现并且将创造好的对象都存放在ioc容器之中;

  要实现ico容器首先得引入spring框架的依赖:

<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.1.11.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver -->
<dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjweaver</artifactId>
    <version>1.9.6</version>
</dependency> 

在引入spring依赖以后先去创建一个spring.xml文件;

创建完成以后有两种方式实现创建ioc容器;

一:使用bean标签来实现ioc容器的创建;

首先在刚才创建的.xml文件中输入一个<bean>标签;

接着

<bean id="student" class="com.mashang.Student" >

这边id是唯一标识也是我们后面要创造的测试类想要调用ioc容器的唯一标识;

而这边的class要输入的是为那个类创建ioc容器的全部路径,用于他扫描;

接着输入另一个标签

<constructor-arg name="name" value="张三"></constructor-arg>

这边的name对应的是创建ioc容器的类所包含的变量,例如这里的name就是student中所定义的name属性;value所代表的则是你要给当前变量赋怎么样的值;例如这里我给name赋值为“张三”;

还有一种特殊情况为创建ioc容器的那个类,引入了另一个类作为它的属性例如:

这边就是将studenthabit作为一个属性赋值给student这个类中;这时候要如何给这个进行赋值

<constructor-arg name="studentHabit" ref="studentHabit" ></constructor-arg>

跟普通变量赋值的方法有所不同的是不是使用value赋值,而是使用ref;这个ref要输入的是你给这个实体类所创造的唯一id;

<bean id="studentHabit" class="com.mashang.StudentHabit">

创建完成一后使用注解的形式进行调用

先初始化ioc容器

ApplicationContext applicationContext=new ClassPathXmlApplicationContext("spring.xml");
Student student = (Student) applicationContext.getBean("student");

getBean()中输入的是前面xml文件中你所定义的唯一id;

这样就可以输出结果:

二,使用注解的方式来实现ioc容器

也是先创建一个spring.xml配置文件然后直接输入你要扫描的包的路径,这次不需要具体输入类的名称;

注意的是ioc容器的那个类名上必须要使用@component标签才可以这样才能被识别到;

这边还有需要注意的是就是这边使用ioc容器不仅可以采用id的形式,还可以采用.class的形式

注解方式默认的id是类名小写;

  • 17
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值