Spring中與Bean相關的介面
package chapter22;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.BeanClassLoaderAware;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.BeanFactoryAware;
import org.springframework.beans.factory.BeanNameAware;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
//如果被裝配的Bean實現了相應的介面,就可以在Bean中獲得相應的資訊。,或者進行某些操作。
public class HelloServiceImpl implements HelloService,
//以下同時為介面的呼叫的順序
BeanNameAware,//獲得Bean名,也就是<Bean>標籤的id屬性值。
BeanClassLoaderAware,//獲得裝載過程中的ClassLoader物件。
BeanFactoryAware,//獲得BeanFactory物件
ApplicationContextAware,//獲得ApplicationContext物件
InitializingBean, //在Bean的所有屬性設定完後,並且在呼叫完上面介面的方法後,呼叫此介面的afterPropertiesSet方法
DisposableBean //當銷燬Bean時,呼叫此介面的destroy方法
{
private String greeting;
public String getGreeting() {
// TODO Auto-generated method stub
return "hello "+greeting;
}
//以下同時為方法的呼叫的順序
public void setGreeting(String greeting)
{
this.greeting = greeting;
System.out.println("設定greeting屬性");
}
public void setBeanName(String name) {
System.out.println("BeanNameAware介面方法 "+name);
}
public void setBeanClassLoader(ClassLoader arg0) {
System.out.println("BeanClassLoaderAware介面方法 "+arg0);
}
public void setBeanFactory(BeanFactory arg0) throws BeansException {
System.out.println("BeanFactoryAware介面方法 "+arg0);
}
public void setApplicationContext(ApplicationContext applicationContext)
throws BeansException {
System.out.println("ApplicationContextAware介面方法 "+applicationContext);
}
public void afterPropertiesSet() throws Exception {
System.out.println("InitializingBean介面方法");
}
public void initMethod(){
System.out.println("<bean>標籤的init-Method屬性指定的方法,此方法在afterPropertiesSet()之後呼叫");
}
public void destroy() throws Exception {
System.out.println("destroy");
}
public void destroyMethod(){
System.out.println("<bean>標籤的destroy-Method屬性指定的方法,此方法在destroy()之後呼叫");
}
}
applicationContext.xml中的部分:
<bean id="greeting" class="chapter22.HelloServiceImpl" scope="prototype" init-method="initMethod" destroy-method="destroyMethod">
<property name="greeting" >
<value>yjz</value>
</property>
</bean>
相關文章
- Spring中與bean有關的生命週期SpringBean
- bean相關Bean
- Java Bean相關JavaBean
- 關於Spring的bean注入SpringBean
- Spring中ref local=""與ref bean=""的區別SpringBean
- Spring中bean的含義SpringBean
- Spring中Bean的作用域SpringBean
- 如何處理 Spring Boot 中與快取相關的錯誤?Spring Boot快取
- 詳解Spring中Bean的作用域與生命週期SpringBean
- spring 相關Spring
- Spring 當中的Bean 作用域SpringBean
- Spring中bean的生命週期SpringBean
- Spring核心——Bean的定義與控制SpringBean
- Spring中AOP相關原始碼解析Spring原始碼
- Spring中Bean的作用域有哪些?SpringBean
- Spring 中 bean 的迴圈依賴SpringBean
- Spring中bean的四種注入方式SpringBean
- Spring中AOP相關的API及原始碼解析SpringAPI原始碼
- Spring配置相關Spring
- [Spring]BeanSpringBean
- spring中FactoryBean是什麼beanSpringBean
- spring bean定義與載入方式SpringBean
- spring中bean.xml的http://www.springframework.org/schema/bean報錯SpringBeanXMLHTTPFramework
- 在Flask中構建API介面的相關概念FlaskAPI
- Spring(一):Spring概述及相關概念Spring
- Spring裝配Bean(六)Bean的作用域SpringBean
- Spring中Bean的例項化詳細流程SpringBean
- 《Spring》(六)---- Bean的scopeSpringBean
- Spring Cloud相關專案SpringCloud
- spring中No bean named xxx available錯誤SpringBeanAI
- Spring Bean容器SpringBean
- 【Spring】Bean管理SpringBean
- 關於 Spring Boot 中建立物件的疑慮 → @Bean 與 @Component 同時作用同一個類,會怎麼樣?Spring Boot物件Bean
- Spring 原始碼(17)Spring Bean的建立過程(8)Bean的初始化Spring原始碼Bean
- Spring(十二):IOC容器中Bean的生命週期方法SpringBean
- JAVA面試題:Spring中bean的生命週期Java面試題SpringBean
- 設計模式(二十九)----綜合應用-自定義Spring框架-Spring IOC相關介面分析設計模式Spring框架
- 設計模式:與SpringMVC底層息息相關的介面卡模式設計模式SpringMVC
- 獲取spring裡的beanSpringBean