zoukankan      html  css  js  c++  java
  • spring注入对象类型的属性

    一.1.创建service类和Dao类

    (1)在service中得到dao对象

    2.具体实现过程

    (1)在service里边把dao作为类型属性

    (2)生成dao类型属性的set方法

    public class UserDao {
        public void add(){
            System.out.println("dao--------------");
        }
    }
    public class UserService {
        private UserDao userDao;
        public void setUserDao(UserDao userDao) {
            this.userDao = userDao;
        }
        public void add(){
            System.out.println("service--------------");
            userDao.add();
        }
    }

    3.xml配置:

    <bean id="userService" class="com.example.propetys.UserService">
    <!-- name的值是 UserService类属性的值  ref是UserDao配置的ID的值-->
    <property name="userDao" ref="userDao"></property>
    </bean>
    <bean id="userDao" class="com.example.propetys.UserDao"></bean>

      二:P名称空间注入

    1.建一个类:

    public class Person {
        private String pname;
    
        public void setPname(String pname) {
            this.pname = pname;
        }
        public void test(){
            System.out.println("asdhjcbsdj"+pname);
        }
    }

    2.xml文件<beans>下

    xmlns:p="http://www.springframework.org/schema/p"

    <bean id="person" class="com.example.propetys.Person" p:pname="lucy"></bean>

    三.注入复杂类型属性

    1.数组

    2.list集合

    3.map集合

    4.properties类型

    (1)建一个类

    import java.util.List;
    import java.util.Map;
    import java.util.Properties;
    
    public class Person {
        private String pname;
    
        public void setPname(String pname) {
            this.pname = pname;
        }
        private String[] arrs;
        private List<String> list;
        private Map<String, String> map;
        private Properties properties;
        
        public void setArrs(String[] arrs) {
            this.arrs = arrs;
        }
        public void setList(List<String> list) {
            this.list = list;
        }
        public void setMap(Map<String, String> map) {
            this.map = map;
        }
        public void setProperties(Properties properties) {
            this.properties = properties;
        }
        public void test(){
            System.out.println("arrs:"+arrs);
            System.out.println("list:"+list);
            System.out.println("map:"+map);
            System.out.println("properties:"+properties);
        }
    }

    (2)配置xml文件

    <bean id="person" class="com.example.propetys.Person" >
    <!-- 数组 -->
         <property name="arrs">
             <list>
                <value>数学</value>
                <value>语文</value>
                <value>历史</value>
                <value>英语</value>
             </list>
         </property>
    <!-- list -->
          <property name="list">
             <list>
                 <value>c/c++</value>
                 <value>java</value>
             </list>
          </property>
    <!-- map -->
          <property name="map">
            <map>
               <entry key="a" value="图书馆"></entry>
               <entry key="b" value="教学楼"></entry>
               <entry key="c" value="宿舍"></entry>
            </map>
          </property>
    <!-- properties -->
         <property name="properties">
         <props>
           <prop key="driverclass">com.mysql.jdbc.Driver</prop>
           <prop key="username">root</prop>
         </props>
         </property>
    </bean>
  • 相关阅读:
    HCIA-IoT 华为认证物联网工程师
    [书目20210522]投资最重要的事
    [书目20210414]海龟交易法则
    [书目20210224]陆蓉 行为金融学讲义
    [书目20210207]肖星的财务思维课
    [转]昂克英文君 一张图告诉你英语该怎么学
    Cloud Native
    Aerospike-介绍
    Groovy使用场景
    javaStream与响应式流
  • 原文地址:https://www.cnblogs.com/xxdebug/p/8682553.html
Copyright © 2011-2022 走看看