Spring网课第三天

Spring创建对象的时机

	String config = "beans.xml";
	ApplicationContext ac = new ClassPathXmlApplicationContext(config);
		读到这一行的时候,Spring跳转到配置文件去获取类信息
	<bean id= "someService" class = "类路径"/>
	//id一般是开头小写的类名,对应类名开头大写
	//<bean id ="someService" class = "上面的类路径">
	//这样的语法可以从同一个类中简单地创建多个对象
		读取这个<Bean>的时候,对象就被生成了,之后就可以用getBean来获取生成的对象了。

spring默认创建对象的时机:在创建Spring的容器时,会创建配置文件中所有的对象。


获取容器中Spring对象的信息

package course01;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class prepareForTest {
   

    public  static void  test01() {
   
        String config = "beans.xml";
        ApplicationContext ac = new ClassPathXmlApplicationContext(config);
        //使用Spring提供的方法,来获取容器中定义的对象数量
        int nums  = ac.getBeanDefinitionCount();
        System.out.println("容器中定义对象的数量"+nums);
        //容器中每个定义的对象名称
        String names[] = ac.getBeanDefinitionNames();
        for (String str: names
             ) {
   
            System.out.println(str);

        }
    }


}

上面展示了获取对象数量和对象名称(字符串数组类型)的api


Spring创建非自定义类的对象?

可以在bean里面配置非自定义类的对象,同样是识别id加上全类名

di实现

DI的实现有两种:
1在Spring的配置文件中,使用标签和属性完成,叫做基于xml的di实现
2使用Spring的注解完成属性赋值,叫做基于注解的di实现

DI:依赖注入

bean实例在调用无参构造器创建对象后,就要对bean对象的属性进行初始化。初始化是由容器自动完成的,称为注入。


IoC操作Bean管理

1)Spring对象创建
2)Spring注入属性


语法分类

根据注入方式的不同,常用的有两类:Set注入,构造注入

set注入(需掌握):
set注入也叫作设值注入,是指,通过setter方法传入被调用者的实例,这种注入方式简单,至关,因而在Spring的依赖注入中大量使用。

构造注入: Spring调用类的有参构造方法,构造对象。在方法中完成赋值


创建Junit测试类的方法

先导入Junit包,一般习惯在src同级目录下加test目录,在需要的方法前加@Test


用无参构造创建基础对象,如果创建了构造函数,需要重新声明无参构造,不然就无法使用

set注入

通过setter方法进行属性注入

 <bean id="book" class="com.study.lele.Bean.BookSetTesting">
        <!--
        做法:在bean标签里面使用Property标签完成属性注入
            name:类里面的属性名称
            value:注入的属性值
        -->
        <property name="bauthor" value="小蕾是天使"></property>
        <property name="bname" value="平平"></property>
    </bean>

测试

@Test
    public void test01(){
   
        String config = "bean.xml";
        ApplicationContext context = new ClassPathXmlApplicationContext(config);
        BookSetTesting book = (BookSetTesting) context.getBean("book");
        System.out.println(book
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值