フレームワーク-core使用例

2146 ワード

1.propertyファイルのロード
使用:
frame ework-coreを参照する場合は、springプロファイルclassipath*:spring/appication Controtext*.xmlをロードする必要があります.web.xmlでは、このように配置することができます.
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        classpath*:spring/applicationContext*.xml
    </param-value>
</context-param>

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
上記のようにしたら、プロジェクトのclassipath*:*.propertiesファイルはspringにロードされます.springプロファイルでは思う存分使えます.その後、すべての設定をメモリcn.bidlink.nl.frame ebook.co.utils.web.PropertyUtilに置いて、PropertyUtil.get(「key」)を使ってvalueを取得することができます.スプリング持参の注釈@Valueを使って注入を完了することもできます.方式は以下の通りです
public class PropertyUtilTest {
	
    @Value("#{p['redis.host']}")
    private String redisHost;

    @Test
    public void testPropertyAnnotation(){
        Assert.assertEquals(redisHost, "10.4.0.122:6380,10.4.0.123:6379");
    }
    
    @Test
    public void testPropertyUtil(){
        String redisHost = PropertyUtil.get("redis.host");
        Assert.assertEquals(redisHost, "10.4.0.122:6380,10.4.0.123:6379");
    }
}
2.RPC Dubbo
dubbo.propertiesプロファイルを追加します.
dubbo_register_address=zookeeper://10.1.1.62:2181?backup=10.1.1.63:2182,10.1.1.64:2183,10.1.1.65:2184,10.1.1.60:2185,10.1.1.61:2186
dubbo_application_name=nbl-framework
dubbo_scan_package=cn.bidlink.nbl
producer端に@DubboServiceを追加することを実現する:
public interface TestDubboService {
	
	public int getNum();

}
@DubboService
public class TestDubboServiceImpl implements TestDubboService {

	@Override
	public int getNum() {
		return 1;
	}
}
consumer端:
public class DubboTest {
	
	private TestDubboService testDubboService;

	@Autowired
	public void setTestDubboService(TestDubboService testDubboService) {
		this.testDubboService = testDubboService;
	}
	
	@Test
	public void testReferenceServiceFilter(){
		Assert.assertEquals(testDubboService.getNum(), 1);
	}
}