天天看點

Spring設定與讀取.properties配置檔案的bean

bean:

package com.yourcompany.spring;

public class HelloBean {
    private String str;

	public String getStr() {
		return str;
	}

	public void setStr(String str) {
		this.str = str;
	}
}
           

.properties

helloBean.(class)=com.yourcompany.spring.HelloBean
helloBean.str=Welcome
           

讀取bean屬性值的程式主入口:

package com.yourcompany.spring;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
import org.springframework.beans.factory.support.PropertiesBeanDefinitionReader;
import org.springframework.core.io.ClassPathResource;

public class Hello1{
    public static void main(String[] args){
    	BeanDefinitionRegistry reg=new DefaultListableBeanFactory();
		PropertiesBeanDefinitionReader reader=new PropertiesBeanDefinitionReader(reg);
		reader.loadBeanDefinitions(new ClassPathResource("applicationContext.properties"));
		BeanFactory factory=(BeanFactory)reg;
		HelloBean hello=(HelloBean)factory.getBean("helloBean");
		System.out.println(hello.getStr());
	}
}
           

設定bean屬性值的程式主入口:

package com.yourcompany.spring;

import org.springframework.beans.MutablePropertyValues;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
import org.springframework.beans.factory.support.RootBeanDefinition;

public class Hello2{
    public static void main(String[] args){
    	//設定屬性
		MutablePropertyValues properties=new MutablePropertyValues();
		properties.addPropertyValue("str", "Hello!Justin!");
		//定義Bean
		RootBeanDefinition bean=new RootBeanDefinition(HelloBean.class,properties);
		
		//注冊Bean定義與Bean别名
		BeanDefinitionRegistry reg=new DefaultListableBeanFactory();
		reg.registerBeanDefinition("helloBean", bean);
		
		BeanFactory factory=(BeanFactory)reg;
		HelloBean hello=(HelloBean)factory.getBean("helloBean");
		System.out.println(hello.getStr());
	}
}