• Spring bean注入


    1.构造方法注入

    1.bean类
    public class User {
        private  String name;
        private Integer age;
        private Cat cat;
        public User(String  name,Integer age,Cat cat){
            this.name=name;
            this.age=age;
            this.cat=cat;
        }
    
        @Override
        public String toString() {
            return "User"+"name"+name+"age"+age+"cat"+cat.getName();
        }
    }
    
    2.测试方法
      public void demo1(){
            ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");
            User user=(User)applicationContext.getBean("user");
            System.out.println(user);
        }
    
    3.xml文件配置
       <!--构造方法 注入-->
        <bean id="user" class="com.imooc.ioc.demo4.User">
            <constructor-arg name="name" value="张三"></constructor-arg>
            <constructor-arg name="age" value="13"></constructor-arg>
            <constructor-arg name="cat" ref="cat"></constructor-arg>
        </bean>
    <bean id="cat" class="com.imooc.ioc.demo4.Cat">
    <property name="name" value="cat"></property>
    </bean>

    2.set方法注入

    1.bean类
    
    public class Person {
        private String name;
        private Integer age;
        private Cat cat;
    
        public void setCat(Cat cat) {
            this.cat = cat;
        }
    
        public Cat getCat() {
            return cat;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public void setAge(Integer age) {
            this.age = age;
        }
    
        public String getName() {
            return name;
        }
    
        public Integer getAge() {
            return age;
        }
    
        @Override
        public String toString() {
            return "name"+name+"age"+age+"cat"+cat.getName();
        }
    }
    
    2.测试方法
     public void demo2(){
            ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");
            Person person=(Person)applicationContext.getBean("person1");
            System.out.println(person);
        }
    3.xml文件配置
        <!--set方法注入-->
        <bean id="person1" class="com.imooc.ioc.demo4.Person">
            <property name="age" value="12"></property>
            <property name="name"  value="李四"></property>
            <property name="cat" ref="cat"></property>
        </bean>

    3.复杂类型的注入

    数组  List   set Map  Properties

    package com.imooc.ioc.demo5;
    
    import java.util.*;
    
    /*
    *
    *
    * 复杂类型注入*/
    public class CollectionBean {
        private String[] args;  //数组类型
        private List<String> list;//list集合
        private Set<String> set ;//set集合
        private Map<String,Integer> map;
        private Properties properties;
    
        public List<String> getList() {
            return list;
        }
    
        public Map<String, Integer> getMap() {
            return map;
        }
    
        public Properties getProperties() {
            return properties;
        }
    
        public Set<String> getSet() {
            return set;
        }
    
        public String[] getArgs() {
            return args;
        }
    
        public void setList(List<String> list) {
            this.list = list;
        }
    
        public void setMap(Map<String, Integer> map) {
            this.map = map;
        }
    
        public void setProperties(Properties properties) {
            this.properties = properties;
        }
    
        public void setSet(Set<String> set) {
            this.set = set;
        }
    
        public void setArgs(String[] args) {
            this.args = args;
        }
    
        @Override
        public String toString() {
            return "arrs"+ Arrays.toString(args)+"list"+list+"map"+map+"properties"+properties+"set"+set;
        }
    }


    2.测试方法
    public  void  demo1(){
    ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");
    CollectionBean collectionBean=(CollectionBean)applicationContext.getBean("collectionBean");
    System.out.println(collectionBean);
    }
    3.配置文件
    <bean id="collectionBean" class="com.imooc.ioc.demo5.CollectionBean" >
    <!--数组的属性注入-->
    <property name="args">
    <list>
    <value>aaa</value>
    <value>bbb</value>
    <value>ccc</value>
    </list>
    </property>
    <!--list的属性注入-->
    <property name="list">
    <list>
    <value>111</value>
    <value>333</value>
    <value>222</value>
    </list>
    </property>
    <!--set集合的属性注入-->
    <property name="set">
    <set>
    <value>ddd</value>
    <value>eee</value>
    <value>fff</value>
    </set>
    </property>
    <!--map的属性注入-->
    <property name="map">
    <map>
    <entry key="aaa" value="111"></entry>
    <entry key="bbb" value="222"></entry>
    </map>
    </property>
    <!--properties的属性注入-->
    <property name="properties">
    <props>
    <prop key="username">zhangsan</prop>
    </props>
    </property>
    </bean>
     
  • 相关阅读:
    自动以管理员身份运行批处理(bat)文件
    apache+php完美解决301重定向的两种方法
    Apache限制访问某目录或某文件,限制允许指定IP
    Apache 禁用IP 访问 和 HTTP 跳转 HTTPS
    301重定向代码合集(iis,asp,php,asp.net,apache)
    以太坊中的gas、gas price、gas limit到底是什么
    解决mysql:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO/YES)
    linux/kde下chrome浏览器缺失最小化,最大化按钮的解决方案
    python自动化--语言基础三字典、函数、全局/局部变量
    python自动化--语言基础二运算符、格式化输出、条件语句、循环语句、列表、元组
  • 原文地址:https://www.cnblogs.com/qiujichu/p/10806311.html
Copyright © 2020-2023  润新知