(三十)自动化装配之组件扫描@Component

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jiangshangchunjiezi/article/details/89420260

Spring从两个角度来实现自动化装配:
组件扫描(component scanning):Spring会自动发现应用上下文中所创建的bean。
自动装配(autowiring):Spring自动满足bean之间的依赖

下面主要介绍组件扫描方式

下面创建一个接口和对应一个实现类(bean)

实现类用@Component 注解

package com.jdj.spring.inf;

public interface CompactDisc {

	void play();
}

创建可被发现的bean

package com.jdj.spring.bean;

import org.springframework.stereotype.Component;

import com.jdj.spring.inf.CompactDisc;
//注解方式 
/*
 * 这个注解表明该类作为组件类,并告知Spring要为这个类创建bean。就没有必要显示配置这个bean。
 * 这个注解会告诉Spring该类作为组件类,需要为该类创建bean
 */
 @Component  
public class Component_helloWorld2 implements CompactDisc {

	public void play() {
		System.out.println("组件方法执行....");
		
	}

}

使用xml文件启动扫描

 <!-- 组件扫描方式默认不启动,要显示配置 会扫描此包下的所有bean -->
    <context:component-scan base-package="com.jdj.spring.bean" />  

测试


ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
		Component_helloWorld2 obj =(Component_helloWorld2) context.getBean("component_helloWorld2");
	      obj.play();

为组件扫描的bean命名

默认情况,会将bean的首字母小写,作为bean名,如上述情况。

也可以在@Component("compont2")

猜你喜欢

转载自blog.csdn.net/jiangshangchunjiezi/article/details/89420260