1.JavaBean
import java.util.List;
import java.util.Map;
import java.util.Set;
public class Test {
private int intValue;
private String strValue;
private List listValue;
private Map mapValue;
private Set<String> setValue;
private String[] arrayValue;
public int getIntValue() {
return intValue;
}
public void setIntValue(int intValue) {
this.intValue = intValue;
}
public String getStrValue() {
return strValue;
}
public void setStrValue(String strValue) {
this.strValue = strValue;
}
public List getListValue() {
return listValue;
}
public void setListValue(List listValue) {
this.listValue = listValue;
}
public Map getMapValue() {
return mapValue;
}
public void setMapValue(Map mapValue) {
this.mapValue = mapValue;
}
public Set getSetValue() {
return setValue;
}
public void setSetValue(Set setValue) {
this.setValue = setValue;
}
public String[] getArrayValue() {
return arrayValue;
}
public void setArrayValue(String[] arrayValue) {
this.arrayValue = arrayValue;
}
}
2.Spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<bean id="TestBean" class="Test">
<!-- 注入int数据 -->
<property name="intValue" value="11" />
<!-- 注入String数据 -->
<property name="strValue">
<value>Tom</value>
</property>
<!-- 注入List数据 -->
<property name="listValue">
<list>
<value>list1</value>
<value>list2</value>
<value>list3</value>
</list>
</property>
<!-- 注入Set数据 -->
<property name="setValue">
<set>
<value>set1</value>
<value>set2</value>
<value>set3</value>
<value>set4</value>
</set>
</property>
<!-- 注入数组数据 -->
<property name="arrayValue">
<list>
<value>array1</value>
<value>array2</value>
<value>array3</value>
<value>array4</value>
</list>
</property>
<!-- 注入map数据 -->
<property name="mapValue">
<map>
<entry key="k1" value="map1" />
<entry key="k2" value="map2" />
<entry key="k3" value="map3" />
<entry key="k4" value="map4" />
</map>
</property>
</bean>
</beans>
3.测试bean
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
import org.apache.xbean.spring.context.ClassPathXmlApplicationContext;
import org.springframework.beans.factory.BeanFactory;
public class TestSpringDI {
private static BeanFactory factory;
public static void main(String[] args) {
factory = new ClassPathXmlApplicationContext(
"conf/spring/applicationContext1Test.xml");
testBeanDemo();
}
public static void testBeanDemo() {
Test test = (Test) factory.getBean("TestBean");
System.out.println("beanDemo.intValue=" + test.getIntValue());
System.out.println("beanDemo.strValue=" + test.getStrValue());
List listValue = test.getListValue();
System.out.println("beanDemo.listValue=");
if (listValue != null) {
for (Iterator it = listValue.iterator(); it.hasNext();) {
System.out.println((String) it.next());
}
}
System.out.println("beanDemo.setValue=");
Set setValue = test.getSetValue();
if (setValue != null) {
for (Iterator it = setValue.iterator(); it.hasNext();) {
System.out.println(it.next());
}
}
System.out.println("beanDemo.arrayValue=");
String[] arrayValue = test.getArrayValue();
if (arrayValue != null) {
for (int i = 0; i < arrayValue.length; i++) {
System.out.println(arrayValue[i]);
}
}
System.out.println("beanDemo.mapValue=");
Map mapValue = test.getMapValue();
if (mapValue != null) {
Set<Map.Entry> set = mapValue.entrySet();
for (Iterator it = set.iterator(); it.hasNext();) {
Map.Entry entry = (Entry) it.next();
System.out.println(entry.getKey() + " = " + entry.getValue());
}
}
}
}
4.输出结果
beanDemo.intValue=11
beanDemo.strValue=Tom
beanDemo.listValue=
list1
list2
list3
beanDemo.setValue=
set1
set2
set3
set4
beanDemo.arrayValue=
array1
array2
array3
array4
beanDemo.mapValue=
k1 = map1
k2 = map2
k3 = map3
k4 = map4
分享到:
相关推荐
Spring4允许我们将基本数据类型(如int、String、boolean等)以及它们的包装类作为属性注入到Bean中。例如,我们可以在配置文件中使用`<property>`标签或者在Java配置类中使用`@Value`注解来指定值: ```xml 张三...
在Spring框架中,属性注入(Property Injection)是一种重要的依赖注入方式,它允许我们在不通过构造函数的情况下设置对象的属性值。这种方式使得代码更加灵活,降低了组件之间的耦合度。本篇将详细介绍如何在Spring...
4. **集合类型的注入**:对于List、Set、Map等集合类型,Spring可以批量注入多个值。在XML配置中,你可以使用`<list>`、`<set>`或`<map>`标签来定义这些集合,并提供多个子元素。在Java配置中,可以使用`@Autowired`...
65、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别 17 66、HashMap和Hashtable的区别 17 67、说出ArrayList,Vector, LinkedList的存储性能和特性 17 68、java中有几...
`<bean id="ntdref" class="cn.sinojava.bean.NullTypeDemo">` 后面的`<property name="nullString"><null/></property>`表明可以为bean的属性注入null值,这在处理可选参数或者某些特定场景下可能需要。...
例如,int、String、String[]、List、Map、Set等类型的属性都可以通过配置文件进行注入。 三、自定义属性编辑器 Spring默认不能注入Date类型的值,但是我们可以通过自定义属性编辑器来实现这一功能。步骤如下: 1...
- **集合类型属性注入**:除了基本类型外,Spring还支持向bean注入List、Set、Map等集合类型的数据。 - **配置示例**: ```xml <bean id="bean1" class="com.zl.spring.Bean1"> <property name="intList"> ...
针对不同类型集合,Spring提供了不同的XML元素,如<list/>、<set/>、<map/>以及。 #### 3.1 list元素注入 <list/>元素用于注入List类型的集合数据。例如: ```xml <list> 三国演义 水浒传 红楼梦 西游记 ...
public void setId(int id) { this.id = id; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getUserAge()...
2. **Spring注入集合和数组**:除了基本类型,Spring还支持注入集合类型,如List、Set、Map等,以及数组。这允许我们向Bean注入一组相关的对象,方便处理多对一或一对多的关系。例如,通过`<list>`、`<set>`、`<map>...
List<Map<String, Object>> result = jdbcTemplate.execute(new CallableStatementCallback<List<Map<String, Object>>>() { @Override public List<Map<String, Object>> doInCallableStatement...
String methodName = "set" + name.substring(0, 1).toUpperCase() + name.substring(1); Method m = o.getClass().getMethod(methodName, beanObject.getClass().getInterfaces()[0]); m....
List<Map<String, Object>> result = jdbcTemplate.queryForList("SELECT * FROM table_name WHERE column1 = ?", value1); for (Map<String, Object> row : result) { // 处理每一行数据 } ``` **更新数据**: ``...
list.set(i, filterNullValues(list.get(i))); } } return obj; } } ``` 完成拦截器实现后,我们需要在Spring MVC配置中注册它。在`WebMvcConfigurer`的实现类中添加以下代码: ```java @Configuration @...
public List<User> getUsersByAge(int age) { return jdbcTemplate.query("SELECT * FROM users WHERE age = ?", new UserRowMapper(), age); } static class UserRowMapper implements RowMapper<User> { @...
模仿Spring实现一种基于xml配置文件的依赖注入机制。文件中将实现3中注入,一是单值注入,包括int,float,double,char等,也...二是Java容器注入,包括List,Set,Map三种容器的注入,最后一种是java bean对象注入。
List、Set、Map的区别 * List 是一种有序的集合,元素可以重复,例如 ArrayList、LinkedList。 * Set 是一种无序的集合,元素不能重复,例如 HashSet、TreeSet。 * Map 是一种键值对集合,键唯一,例如 HashMap、...
public void callProcedureWithNamingParams(@Param("param1") String param1, @Param("param2") int param2) { Map<String, Object> params = new HashMap(); params.put("param1", param1); params.put("param2...
Map<String, Object> params = new HashMap(); params.put("name", "%" + criteria.getName() + "%"); params.put("age", criteria.getMinAge()); return namedJdbcTemplate.query(sql, params, new ...