1.context:component-scan作用
<context:component-scan base-package="com.jd"></context:component-scan>
扫描com.jd包及其子包下的所有类,并为添加了@Controller,@Service,@Component和@Repository修饰的类创建对象并存入IoC容器中。
2.Spring中构造方法赋值方式
public class UserInfo{
	public UserInfo(int age,String name) {
		System.out.println(age+","+name);
	}
	public UserInfo(Date birth) {
		System.out.println(birth);
	}
	
	public UserInfo(String[] mobiles) {
		for(String mobile : mobiles) {
			System.out.println(mobile);
		}
	}
	public UserInfo(List<Integer> ages) {
		for(Integer age : ages) {
			System.out.println(age);
		}
	}
	public UserInfo(Set<Date> birthdays) {
		for(Date birthday : birthdays) {
			System.out.println(birthday);
		}
	}
	public UserInfo(Map<String,Integer> maps) {
		for(String map : maps.keySet()) {
			System.out.println(map+","+maps.get(map));
		}
	}
	public UserInfo(Properties properties) {
		System.out.println(properties.getProperty("url"));
		System.out.println(properties.getProperty("username"));
		System.out.println(properties.getProperty("password"));
		System.out.println(properties.getProperty("driver"));
	}
}
如上代码,列举出了七种构造方法
- 如何为不同类型赋值
 
基本数据类型+String直接使用value属性标签
<bean class="com.jd.vo.UserInfo">
    <constructor-arg type="java.lang.String" value="JAVA"></constructor-arg>
    <constructor-arg type="int" value="12"></constructor-arg>
</bean>
- 自定义数据类型直接使用ref属性标签
 
<bean id="date" class="java.util.Date"></bean>
<!--自定义一个数据类型class-->
<bean class="com.jd.vo.UserInfo">
    <constructor-arg ref="date"></constructor-arg>
</bean>
<!--通过ref="id"获取-->
- Array数据类型直接使用array属性标签
 
<!--形式如
<bean class="类的路径">
    <constructor-arg>
        <array>
            <value></value>
            <value></value>
            <bean class="">
                <constructor-arg value=""></constructor-arg><!--为自定义数据类型-->
            </bean>
        </array>
    </constructor-arg>
</bean>
-->
<bean class="com.jd.vo.UserInfo">
    <constructor-arg>
        <array>
            <value>ads</value>
            <value>ada</value>
            <bean class="java.lang.String">
                <constructor-arg value="JAVA"></constructor-arg><!--为自定义数据类型-->
            </bean>
        </array>
    </constructor-arg>
</bean>
- list数据类型使用list属性标签
 
<bean class="com.jd.vo.UserInfo">
    <constructor-arg>
        <list>
            <value>23</value>
            <value>44</value>
            <value>56</value>
        </list>
    </constructor-arg>
</bean> 
- set数据类型使用set属性标签
 
<bean class="com.jd.vo.UserInfo">
    <constructor-arg>
        <set>
            <bean class="java.util.Date"></bean>
            <ref bean="date"/><!--再次用到自定义类型-->
        </set>
    </constructor-arg>
</bean> 
- map数据类型使用map属性标签
 
<bean id="xj" class="java.lang.String">
    <constructor-arg value="xj"></constructor-arg>
</bean>
<!--自定义类型-->
<bean id="app" class="com.jd.vo.UserInfo">
    <constructor-arg>
        <map>
            <entry key="小明" value="12"></entry>
            <entry key-ref="xj" value="24"></entry>
        </map>
    </constructor-arg>
</bean> 
- properties数据类型使用prop属性标签
 
<bean  class="com.jd.vo.UserInfo">
    <constructor-arg>
        <props>
            <prop key="driver">com.mysql.jdbc.Driver</prop>
            <prop key="username">root</prop>
            <prop key="password">root</prop>
            <prop key="url">jdbc:mysql://localhost:3306</prop>
        </props>
    </constructor-arg>
</bean> 
<!--通过key值来匹配UserInfo类中的properties.getProperty("")-->
以上为Spring中构造方法赋值方式。
来源:CSDN
作者:nairuozi
链接:https://blog.csdn.net/nairuozi/article/details/104575328