Spring再接触 集合注入

beans.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

  <bean name="userDAO" class="com.bjsxt.dao.impl.UserDAOImpl">
      <property name="sets">
          <set>
              <value>1</value>
              <value>2</value>
          </set>
      </property>
      <property name="lists">
          <list>
              <value>1</value>
              <value>2</value>
              <value>3</value>
          </list>
      </property>
      <property name="maps">
          <map>
              <entry key="1" value="1"></entry>
              <entry key="2" value="2"></entry>
              <entry key="3" value="3"></entry>
              <entry key="4" value="4"></entry>
          </map>
      </property>
  </bean>

  <bean id="userService" class="com.bjsxt.service.UserService">
  <!--
      <property name="userDAO">
          <ref bean="userDAO"/>
      </property>
       -->
       <constructor-arg>
           <ref bean="userDAO"/>
       </constructor-arg>
  </bean>

</beans>

userDAOimpl

package com.bjsxt.dao.impl;

import java.util.List;
import java.util.Map;
import java.util.Set;

import com.bjsxt.dao.UserDAO;
import com.bjsxt.model.User;

public class UserDAOImpl implements UserDAO {
    /* (non-Javadoc)
     * @see com.bjsxt.dao.UserDAO#save(com.bjsxt.model.User)
     */
    private Set<String> sets;
    private List<String> lists;
    private Map<String , String> maps;

    public Set<String> getSets() {
        return sets;
    }

    public void setSets(Set<String> sets) {
        this.sets = sets;
    }

    public List<String> getLists() {
        return lists;
    }

    public void setLists(List<String> lists) {
        this.lists = lists;
    }

    public Map<String, String> getMaps() {
        return maps;
    }

    public void setMaps(Map<String, String> maps) {
        this.maps = maps;
    }

    public UserDAOImpl() {
    }

    public void save(User user) {
        System.out.println("user saved!");
    }

    @Override
    public String toString() {
        return "sets size:" + sets.size() + "| lists size:" + lists.size() + "| maps size:" + maps.size() ;
    }

}

Test

@Test
    public void testAdd() throws Exception {
        ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
        UserDAO u1 = (UserDAO)ctx.getBean("userDAO");
        System.out.println(u1);
    }

原文地址:https://www.cnblogs.com/frankzone/p/9613231.html

时间: 2024-10-12 02:55:39

Spring再接触 集合注入的相关文章

Spring再接触 注入类型

共有三种注入类型 一种是set注入 一种是构造注入 一种是接口注入 最常用的还是set 现在看一下construct 构造注入 在userservice中加入 package com.bjsxt.service; import com.bjsxt.dao.UserDAO; import com.bjsxt.model.User; public class UserService { private UserDAO userDAO; public void add(User user) { use

Spring再接触 IOC DI

直接上例子 引入spring以及Junite所需要的jar包 User.java package com.bjsxt.model; public class User { private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) { this.username = userna

Spring再接触 模拟Spring

项目分层: 1.最土的方法是直接写到main中去 2.分出model层 2.如下 4.在抽象一个对数据库的访问层(跨数据库实现) 面向抽象编程 User.java package com.bjsxt.model; public class User { private String username; private String password; public String getUsername() { return username; } public void setUsername(

Spring再接触 生命周期

Userservice.java package com.bjsxt.service; import com.bjsxt.dao.UserDAO; import com.bjsxt.model.User; public class UserService { private UserDAO userDAO; public void init() { System.out.println("init"); } public void add(User user) { userDAO.sa

Spring再接触 id与name

事实上 <bean id="u" class="com.bjsxt.dao.impl.UserDAOImpl"> </bean> 也可以是 <bean name="u" class="com.bjsxt.dao.impl.UserDAOImpl"></bean> 两者一般情况下可以相互替换 唯一不同的就是name可以是一些特殊字符. 原文地址:https://www.cnblog

SSM-Spring-04:Spring的DI的构造注入,P命名注入,和集合注入

------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- DI和IOC相比,DI更偏向于实现 DI的set方式注入在前面入门案例里有写,所以此处不多啰嗦,直接开搞,先说构造注入和P命名注入 构造方式,理所当然要有带参构造,这儿值得注意的是,你最好再补全一个无参构造,因为你写了带参构造,系统就不再会为你默认补全一个无参构造了,当你在不经意或者不知情的情况下被调用了,就会报错 P命名则有注意的是那个头文件 xmlns xsi需要你去配置一道,我下面有,你直接copy就

Spring(二)scope、集合注入、自动装配、生命周期

原文链接:http://www.orlion.ga/189/ 一.scope bean的scope属性中常用的有两种:singleton(单例,默认)和prototype(原型,每次创建新对象) 例:beans.xml <bean id="userService" class="ml.orlion.service.UserService" scope="prototype">     <property name="u

Spring 中设置依赖注入

package com.ysq.vo; public class User { private int uid; private String uname; private String pwd; private Date birth; private String[] likes; //声明一个数组 private List<String> list; //声明一个集合 private Map<String, String> map; //声明一个map public User(

关于Spring IOC (DI-依赖注入)

<Spring入门经典>这本书无论对于初学者或者有经验的工程师还是很值一看的,最近花了点时间回顾了Spring的内容,在此顺带记录一下,本篇主要与spring IOC相关 ,这篇博文适合初学者也适合spring有过开发经验的工程师,前者可用于全面了解Spring IOC的知识点,后者且过目进而查漏补缺,ok~,以下是主要内容: Spring IOC 的原理概述 快速入门案例 Spring 容器装配BeanXML配置方式和注解配置方式 Spring 依赖注入 Setter注入 构造函数注入 循环