观看慕课moocer老师视频Spring Bean装配之Autowire注解说明-5

使用@ImportResource和@Value注解进行资源文件读取

package com.imooc.beanannotation.javabased;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.ImportResource;

@Configuration
@ImportResource("classpath:config.xml")
public class StoreConfig {

	@Value("${url}")
	private String url;
	
	@Value("${username}")
	private String username;
	
	@Value("${password}")
	private String password;
	
	@Bean
	public MyDriverManager myDriverManager(){
		return new MyDriverManager(url,username,password);
	}
	/*
	@Bean(name="stringStore",initMethod="init",destroyMethod="destroy")
	public Store stringStore(){
		return new StringStore();
	}*/
}
package com.imooc.beanannotation.javabased;

public class MyDriverManager {
	public MyDriverManager(String url,String userName,String password){
		System.out.println("url:"+url);
		System.out.println("userName:"+userName);
		System.out.println("password:"+password);
	}
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">
        
        <context:property-placeholder location= "classpath:/config.properties"/>
        
</beans>

注意:config.properties要在classpath目录下。

package com.imooc.test.beanannotation;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.BlockJUnit4ClassRunner;

import com.imooc.beanannotation.javabased.MyDriverManager;
import com.imooc.beanannotation.javabased.Store;
import com.imooc.ioc.interfaces.UnitTestBase;

@RunWith(BlockJUnit4ClassRunner.class)
public class TestJavabased extends UnitTestBase {
	
	public TestJavabased(){
		super("classpath*:spring-beanannotation.xml");
}
	@Test
	public void test(){
		Store store=super.getBean("stringStore");
		System.out.println(store.getClass().getName());;
	}
	
	@Test
	public void testMyDriverManager(){
		MyDriverManager manager=super.getBean("myDriverManager");
		System.out.println(manager.getClass().getName());;
	}
}

运行结果:

注意:username是当前登录操作系统的用户名

要不重复,修改:

运行结果:

原文链接:加载失败,请重新获取