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