利用*.properties定义文件对类进行初始化或通过xml注入


public class EhCache*** implements PCache {
	private  int maxElementsInMemory = Integer.parseInt(ResourceBundle.getBundle("cache")
			.getString("cache.maxElementsInMemory").toString());
	private  boolean overflowToDisk = Boolean.getBoolean(ResourceBundle.getBundle("cache")
			.getString("cache.overflowToDisk").toString());
	private  boolean eternal = Boolean.getBoolean(ResourceBundle.getBundle("cache")
			.getString("cache.eternal").toString());
	private  long timeToIdleSeconds = Long.parseLong(ResourceBundle.getBundle("cache")
			.getString("cache.timeToIdleSeconds").toString());;
	private  long timeToLiveSeconds = Long.parseLong(ResourceBundle.getBundle("cache")
			.getString("cache.timeToLiveSeconds").toString());;
	Cache cache = null;   
	public EhCache***(String cacheName){
		cache = new Cache(cacheName, this.getMaxElementsInMemory(), this.isOverflowToDisk(), this.isEternal(), 
                    this.getTimeToLiveSeconds(), this.getTimeToIdleSeconds());
         }

不过最好用Sring的Bundle


也可以这样初始化

public class EhCache** implements PCache {
	private  int maxElementsInMemory;
	private  boolean overflowToDisk;
	private  boolean eternal;
	private  long timeToIdleSeconds;
	private  long timeToLiveSeconds;
	private String cacheName = "";
    CacheManager manager = CacheManager.create();
    private  Cache cache = null;
    
	public EhCache**(String cacheName){
		this.cacheName = cacheName;
	}
	public void init(){		
	     cache = new Cache(this.cacheName, this.getMaxElementsInMemory(), this.isOverflowToDisk(), this.isEternal(), 
					this.getTimeToLiveSeconds(), this.getTimeToIdleSeconds());
			
	}

}

在xml中,通过注入属性对其进行初始化

<bean id="ehCache" class="com.yk.platform.cache.impl.EhCache*" scope="singleton" init-method="init">
           <constructor-arg type="java.lang.String">
             <value>newCache</value>
           </constructor-arg>
           <property name = "maxElementsInMemory" value="500"></property>
           <property name = "eternal" value="false"></property>
           <property name = "timeToIdleSeconds" value="300"></property>
           <property name = "timeToLiveSeconds" value="1200"></property>
           <property name = "overflowToDisk" value="true"></property>
     </bean>




Spring Boot允许我们通过YAML或XML配置文件来管理应用的设置,包括对象属性的初始化。对于员工基本信息的配置,我们可以创建一个简单的`Employee`类,然后利用`@ConfigurationProperties`注解将配置文件中的数据映射到这个类的属性上。 首先,定义一个Employee实体类: ```java import org.springframework.boot.context.properties.ConfigurationProperties; import java.util.List; @ConfigurationProperties(prefix = "employee") public class Employee { private String name; private String birthMonthYear; private List<String> hobbies; // getters and setters public String getName() { return name; } public void setName(String name) { this.name = name; } public String getBirthMonthYear() { return birthMonthYear; } public void setBirthMonthYear(String birthMonthYear) { this.birthMonthYear = birthMonthYear; } public List<String> getHobbies() { return hobbies; } public void setHobbies(List<String> hobbies) { this.hobbies = hobbies; } } ``` 在这个例子中,`prefix = "employee"`表示配置文件中相关的键前缀应该是"employee"。例如,如果配置文件中有如下的内容: ```yaml employee: name: John Doe birthMonthYear: 01-1990 hobbies: - Reading - Traveling ``` Spring Boot会自动将这些值注入到`Employee`实例的相应属性中。 要实现在启动时注入这些配置,只需在Spring Boot应用程序中使用`@Autowired`或`@Bean`来创建`Employee`对象: ```java import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class AppConfig { @Autowired private Employee employee; public static void main(String[] args) { SpringApplication.run(AppConfig.class, args); } // 这里你可以打印或使用Employee对象验证配置已注入 System.out.println("Employee Name: " + employee.getName()); // ... } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值