• Java框架spring 学习笔记(六):属性注入


    属性注入:创建对象的时候,向类里面的属性设置值。

    Java属性注入有三种方法:

    1. 使用set方法注入
    2. 有参数构造注入
    3. 使用接口注入

    Spring框架里面的属性注入方式

    1. 有参数构造属性注入
    2. set方法属性注入

    有参数构造属性注入

    编写User.java

     1 package com.example.spring;
     2 
     3 public class User {
     4     private String name;
     5     private Integer age;
     6     private String country;
     7 
     8     //基于构造函数的属性注入
     9     public User(String name, Integer age, String country) {
    10         this.name = name;
    11         this.age = age;
    12         this.country = country;
    13     }
    14 
    15     public String toString() {
    16         return name + " is " + age + " years old, living in " + country;
    17     }
    18 }

    编写Beans.xml,使用constructor-arg为属性赋值

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"
     3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
     5 
     6     <bean id="user" class="com.example.spring.User" >
     7         <constructor-arg name="name" type="java.lang.String" value="Jacky" />
     8         <constructor-arg name="age" type="java.lang.Integer" value="22"/>
     9         <constructor-arg name="country" type="java.lang.String" value="China"/>
    10     </bean>
    11 
    12 </beans>

    编写Application.java

    package com.example.spring;
    
    import org.springframework.context.support.AbstractApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    public class Application {
        public static void main(String[] args) {
            //bean配置文件所在位置 D:\IdeaProjects\spring\src\Beans.xml
            //使用AbstractApplicationContext容器
            AbstractApplicationContext context = new ClassPathXmlApplicationContext("file:D:\IdeaProjects\spring\src\Beans.xml");
            User user = (User)context.getBean("user");
            System.out.println(user);
        }
    }

    运行输出

    Jacky is 22 years old, living in China

    set方法属性注入

    编写User.java

     1 package com.example.spring;
     2 
     3 public class User {
     4     private String name;
     5     private Integer age;
     6     private String country;
     7 
     8     //基于set方法的属性注入
     9     public void setName(String name) {
    10         this.name = name;
    11     }
    12     public void setAge(Integer age) {
    13         this.age = age;
    14     }
    15     public void setCountry(String country) {
    16         this.country = country;
    17     }
    18     
    19     public String toString() {
    20         return name + " is " + age + " years old, living in " + country;
    21     }
    22 }

    编写Beans.xml,使用property关键字为属性赋值

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"
     3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
     5 
     6     <bean id="user" class="com.example.spring.User" >
     7         <property name="name" value="Jacky"></property>
     8         <property name="age" value="22"></property>
     9         <property name="country" value="China"></property>
    10     </bean>
    11 
    12 </beans>

    编写Application.java

     1 package com.example.spring;
     2 
     3 import org.springframework.context.support.AbstractApplicationContext;
     4 import org.springframework.context.support.ClassPathXmlApplicationContext;
     5 
     6 public class Application {
     7     public static void main(String[] args) {
     8         //bean配置文件所在位置 D:\IdeaProjects\spring\src\Beans.xml
     9         //使用AbstractApplicationContext容器
    10         AbstractApplicationContext context = new ClassPathXmlApplicationContext("file:D:\IdeaProjects\spring\src\Beans.xml");
    11         User user = (User)context.getBean("user");
    12         System.out.println(user);
    13     }
    14 }

    运行输出

    Jacky is 22 years old, living in China
  • 相关阅读:
    Shared variable in python's multiprocessing
    File checksum
    Windows createprocess linux fork
    人工调用系统调用
    如何提高团队开发效率
    Redis' High Availability
    并发MD5计算方法
    开博宣言
    NYOJ 55 懒省事的小明
    HDU 1237 简单计算器
  • 原文地址:https://www.cnblogs.com/zylq-blog/p/7794368.html
Copyright © 2020-2023  润新知