Spring进一步学习

1、beans.xml编写

public class User {
 
    private String name;
 
    public UserT(String name) {
        this.name = name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public void show(){
        System.out.println("name="+ name );
    }
 
}
<!-- 第一种根据index参数下标设置 -->
<bean id="user" class="com.workhah.pojo.User">
    <!-- index指构造方法 , 下标从0开始 -->
    <constructor-arg index="0" value="workhah"/>
</bean>

<!-- 第二种根据参数名字设置 -->
<bean id="user" class="com.workhah.pojo.User">
    <!-- name指参数名 -->
    <constructor-arg name="name" value="workhah"/>
</bean>

<!-- 第三种根据参数类型设置 -->
<bean id="user" class="com.workhah.pojo.User">
    <constructor-arg type="java.lang.String" value="workhah"/>
</bean>

2、别名

(1)alias

alias 设置别名 , 为bean设置别名 , 可以设置多个别名

<!--设置别名:在获取Bean的时候可以使用别名获取-->
<alias name="user" alias="userNew"/>

(2)name

<!--
    1、id 是bean的标识符,要唯一,如果没有配置id,name就是默认标识符
    2、 如果配置id,又配置了name,那么name是别名
    3、name可以设置多个别名,可以用逗号,分号,空格隔开
    4、如果不配置id和name,可以根据applicationContext.getBean(.class)获取对象;
 
    class是bean的全限定名=包名+类名
-->
<bean id="hello" name="hello2 h2,h3;h4" class="com.workhah.pojo.Hello">
    <property name="name" value="Spring"/>
</bean>

3、依赖注入(DI)

public class Student {
    private String name;
    private Address address;
    private String[] books;
    private List<String> hobbies;
    private Map<String,String> card;
    private Set<String> games;
    private String wife;
    private Properties info;
}

(1)数组注入

<property name="books">
	<array>
		<value>语文</value>
		<value>数学</value>
	</array>
</property>

(2)List注入

<property name="hobbies">
	<list>
		<value>游戏</value>
		<value>学习</value>
	</list>
</property>

(3)Map注入

<property name="card">
	<map>
		<entry key="身份证" value="123"/>
		<entry key="银行卡" value="123"/>
	</map>
</property>

(4)set注入

<property name="games">
   <set>
   	<value>lol</value>
   	<value>王者</value>
   </set>
</property>

(5)Null注入

<property name="wife">
	<null/>
</property>

(6)properties注入

 <property name="info">
	<props>
		<prop key="学号">123</prop>
		<prop key="班级">222</prop>
	</props>
</property>

(7)p命名空间

 <!-- 导入约束 : xmlns:p="http://www.springframework.org/schema/p" -->
 
 <!--P(属性: properties)命名空间 , 属性依然要设置set方法-->
 <bean id="user" class="com.workhah.pojo.User" p:name="workhah" p:age="18"/>

(8)c命名空间

<!--  导入约束 : xmlns:c="http://www.springframework.org/schema/c" -->
 
<!--C(构造: Constructor)命名空间 , 属性依然要设置set方法-->
<bean id="user" class="com.workhah.pojo.User" c:name="workhah" c:age="18"/>

4、bean的作用域

在这里插入图片描述

posted @ 2021-11-08 12:00  WorkHaH  阅读(33)  评论(0编辑  收藏  举报