非註解方式獲取spring bean物件以及配置值

2021-07-30 07:25:03 字數 2670 閱讀 9629

spring bean物件可以通過@autowired 或者@resource等註解方式獲取;spring配置值可以通過@value註解獲取。通過註解方式獲取很方便,但是有一定侷限 。本文主要介紹通過非註解的方法獲取bean物件以及配置方法。

獲取bean 物件主要是獲取spring 容器的上下文

package com.hsc.spring.study.context;

import org.springframework.beans.bean***ception;

import org.springframework.stereotype.component;

/** * created by hsc on 17/4/9.

*/@component

public

class

springcontext

implements

//spring應用上下文環境

private

@override

public

void

}/**

* 獲取物件

**@param name

*@return object 乙個以所給名字註冊的bean的例項

*@throws bean***ception

*/public

static object getbean(string name) throws bean***ception

}

springcontext 生成bean物件後,就可以使用靜態方法獲取bean物件了。

package com.hsc.spring.study.context;

import org.springframework.context.embeddedvalueresolveraware;

import org.springframework.stereotype.component;

import org.springframework.util.stringvalueresolver;

/** * created by hsc on 17/4/9.

*/@component

public

class

propertiesutils

implements

embeddedvalueresolveraware

public

static string getpropertiesvalue(string name)

}

值得強調是:獲取配置值鍵要使用如下寫法$

spring-test.xml 檔案

<?xml version="1.0" encoding="utf-8"?>

xmlns=""

xmlns:xsi=""

xmlns:context=""

xsi:schemalocation=" /spring-beans.xsd /spring-context.xsd">

base-package="com.hsc.spring.study"/>

id="cachepropertyconfigurer"

class="org.springframework.beans.factory.config.propertyplaceholderconfigurer">

name="order"

value="2" />

name="ignoreunresolvableplaceholders"

value="true" />

name="locations">

classpath*:config.propertiesvalue>

list>

property>

bean>

beans>

config.properties 配置檔案

auth_key=hsc
測試程式

import com

.hsc

.spring

.study

.context

.propertiesutils

;import com

.hsc

.spring

.study

.context

.springcontext

;import com

.hsc

.spring

.study

.entity

.user

;import com

.hsc

.spring

.study

.service

.test

.userservice

;import org.springframework

.context

;import org.springframework

.context

.support

;/**

* created by hsc on 17/4/9.

*/public class test "));

}}

springAOP 註解方式

package com.zf.aspect import org.aspectj.lang.joinpoint import org.aspectj.lang.proceedingjoinpoint import org.aspectj.lang.annotation.afterreturning ...

aop 註解方式

直接 demo 1.介面 package com.bird.service public inte ce personserver 2.實現類 package com.bird.service.impl import com.bird.service.personserver public clas...

SSH註解方式

service用於標註業務層元件 controller用於標註控制層元件 如struts中的action repository用於標註資料訪問元件,即dao元件 component泛指元件,當元件不好歸類的時候,我們可以使用這個註解進行標註。注入方式 把dao實現類注入到action的service...