spring框架的一个核心就是DI,IOC容器管理
1.<context:component-scan>
在xml配置了这个标签后,spring可以自动去扫描base-pack下面或者子包下面的Java文件,如果扫描到有@Component @Controller@Service等这些注解的类,则把这些类注册为bean。
<context:component-scan>,另一个<context:annotation-config/>标签根本可以移除掉,因为已经被包含进去了
http://blog.csdn.net/chunqiuwei/article/details/16115135
2.
三种装配bean的方式
创建应用对象之间协作关系的行为通常称为装配,这也是依赖注入(DI)的本质
- 在XML中进行显式配置
- 在Java中进行显式配置
- 隐式的bean发现机制和自动装配
-
1.在XML中进行显式配置
2.隐式配置分成两步 1、组件扫描 2、自动装配
创建组件:创建可被扫描的bean
使用@Component注解标记类
package xyz.mrwood.study.spring.example;
import org.springframework.stereotype.Component;
@Component
public class Waiter {
public void service(String name){
System.out.println("service to " + name);
}
}
开启扫描:有两种方法可以启用:1、java config配置 2、XML配置
1. Java config配置
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration
@ComponentScan
public class ApplicationConfig {
}
2. 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"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="xyz.mrwood.study.spring.example" />
</beans>
**总结:是@ComponentScan的XML形式,两者几乎完全对应**
自动装配
**spring自动满足bean之间的依赖** **通过Autowired来进行依赖的注入** `Store.class`- spring中所有bean都会有一个ID,我们通过@Component设置的,自动扫描时会以类名首字母小写为ID。如果想要自定义就要设置@Component的参数
http://blog.csdn.net/u011719271/article/details/53649816
。。。。