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>
  • 相关阅读:
    第一章 基础知识
    第1条:考虑用静态工厂方法代替构造器
    spring cloud(断路器——初学五)
    spring cloud(断路器——初学四)
    spring cloud(服务消费者(利用feign实现服务消费及负载均衡)——初学三)
    在阿里云的ubuntu服务器上安装xampp时出现unable to realloc unable to realloc 8380000 bytes错误
    laravel中ubuntu下执行php artisan migrate总是报错
    windows下安装php依赖关系管理工具composer
    apk下载的网址生成一个二维码
    android apk的签名和权限问题
  • 原文地址:https://www.cnblogs.com/xxdebug/p/8682553.html
Copyright © 2011-2022 走看看