版权声明:本文为博主原创文章,未经博主允许不得转载。 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")