美文网首页
How to inject value into bean pr

How to inject value into bean pr

作者: lovePython | 来源:发表于2015-08-20 11:27 被阅读33次

    In Spring, there are three ways to inject value into bean properties.

    • Normal way
    • Shortcut
    • “p” schema

    See a simple Java class, which contains two properties – name and type. Later you will use Spring to inject value into the bean properties.

    package com.mkyong.common;
    public class FileNameGenerator { 
        private String name; 
        private String type; 
        public String getName() { 
            return name; 
        } 
        public void setName(String name) { 
            this.name = name; 
        } 
        public String getType() { 
            return type; 
        } 
        public void setType(String type) {  
            this.type = type; 
        }
    }
    

    1. Normal way

    Inject value within a ‘value’ tag and enclosed with ‘property’ tag.

    <?xml version="1.0"?>
    <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 id="FileNameGenerator" class="com.mkyong.common.FileNameGenerator">
            <property name="name">
                <value>mkyong</value>
            </property>
            <property name="type">
                <value>txt</value>
            </property>
        </bean>
    </beans>
    

    2. Shortcut

    Inject value with “value” attribute.

    <?xml version="1.0"?>
    <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 id="FileNameGenerator" class="com.mkyong.common.FileNameGenerator">
            <property name="name" value="mkyong" />
            <property name="type" value="txt" />
        </bean>
    </beans>
    

    3. “p” schema

    Inject value by using “p” schema as an attributes.

    <?xml version="1.0"?>
    <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
        <bean id="FileNameGenerator" class="com.mkyong.common.FileNameGenerator" p:name="mkyong" p:type="txt" />
    </beans>
    

    Remember declares the xmlns:p=”http://www.springframework.org/schema/p in the Spring XML bean configuration file.

    Conclusion

    Which methods to use is totally base on personal preference, it will not affect the value inject into the bean properties.

    相关文章

      网友评论

          本文标题:How to inject value into bean pr

          本文链接:https://www.haomeiwen.com/subject/hodgqttx.html