代码改变世界

Spring框架 基础01

2018-01-30 11:47  澄序源  阅读(182)  评论(0编辑  收藏  举报

属性注入

基础注解自动扫描注入

 

<!-- 扫描上下文对象中 所有带component等 注解的类 -->
                        <!-- 指定一个包 -->
<context:component-scan base-package="com.ljk.model" />

<bean id="dog" class="com.ljk.model.Dog">
    <!-- 变量名 属性注入 -->
    <!-- <property name="name" value="小明" /> -->
    
    <!-- 构造方法 属性注入 -->
    <!-- index表明构造函数里的第几个值 -->
    <constructor-arg index="0" value="小花" />
    <constructor-arg index="1" value="10" />
    <constructor-arg index="2" value="猫狗" />
    <!-- <constructor-arg index="3" ref="date"></constructor-arg> -->
    
    <!-- 根据构造方法中的名字来 进行属性注入 -->
    <!-- ref 引用底下的 时间类 -->
    <constructor-arg name="birthday" ref="date" />
    <!-- 注入一个集合 -->
    <constructor-arg name="list">
        <list>
            <value>头</value>
            <value>尾巴</value>
            <value>手</value>
            <value>身体</value>
            <value>脚</value>
        </list>
        
        <!-- map 集合
        <map>
            <entry key="" value=""/>
        </map> 
        -->
    </constructor-arg>
    
</bean>

<!-- 实例化一个Date类 获取现在时间 -->
<bean id="date" class="java.util.Date" />

 

自动扫描到Spring容器中

@Component // 扫描入spring容器中
public class Cat {
	private String name;
	private int age;
	private String species; // 种类 物种
	private Date birthday;
	private List<String> list;
	
	
	public Cat() {
		super();
	}
}

 把扫描到的类 自动注入带有@Autowired注解的变量中去(自动判断类型)

@Component // 自动扫描
public class CatZoo {
	private String name;

	@Autowired // 自动注入
	private List<Cat> list;

	private String op; // 管理
	public CatZoo() {
		super();
	}
}