読者です 読者をやめる 読者になる 読者になる

liguofeng29’s blog

個人勉強用ブログだっす。

spring4 - @Qualifier, alias

@Qualifierは、bean名を指定してDIを行う package spring4.second; public interface SomeService { public String getMessage(); } package spring4.second; import org.springframework.stereotype.Component; @Component("SomeServiceAImpl") public cl…

Spring4 - BeanFactoryPostProcessor

Beanを遅延生成させる @Component public class LazyInitBeanFactoryPostProcessor implements BeanFactoryPostProcessor { @Override public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { for (Stri…

Spring4 - AOP

SpringのAOP。 Annotation (XML定義も可能ね) @AspectJ @Before @After @AfterReturing @AfterThrowing @Aroud @Pointcut 必要なjar aopalliance.jar aspectjrt.jar aspectjweaver.jar コード

Spring4 - 零配置ファイル - Annotation利用

Springは「配置より規約」を採用してなく、Annotationを利用してどれをBeanとして扱うを決める。 SpringのBean定義用Annotaion @Component @Controller @Service @Repository ライフサイクルAnnotation @PostConstruct @PreDestory Spring3.0追加 @DependsOn…

Spring4 - BeanFactoryPostProcessor - PropertyPlaceholderConfigurer

PropertyPlaceholderConfigurerは、 propertiesファイルを読み取り、Springコンテナーのデータとして使える。 package app.propertyOverrideConfigurer; public class Japanese{ private int age; // 年齢 private String name; // 名前 public void setAge(…

Spring4 - BeanFactoryPostProcessor - PropertyPlaceholderConfigurer

PropertyPlaceholderConfigurerは、 propertiesファイルを読み取り、Springコンテナーのデータとして使える。 package app.beanFactoryPostFrocessor; public class Japanese{ private int age; // 年齢 private String name; // 名前 public void setAge(in…

Spring4 - BeanFactoryPostProcessor

BeanFactoryPostProcessorはSpringコンテナーの生成後の後処理をサポートする。 BeanFactoryPostProcessorのIF postProcessBeanFactory サンプル package app.beanFactoryPostFrocessor; public class Japanese{ private int age; // 年齢 private String na…

Spring4 - BeanPostProcessor

BeanPostprocessorはBeanの生成後の後処理をサポートする。 BeanPostProcessorはbeanの初期化処理前後に処理を入れることができ、beanに対して共通処理を行える BeanPostProcessorのIF postProcessBeforeInitialization postProcessAfterInitialization サン…

Spring4 - SpEL

package app.spel; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.springframework.expression.EvaluationContext; import org.springframework.expression.Expression; import org.spri…

Spring4 - Springフレームワークの本質

Springフレームワークの本質はXML配置を通してJaveコードを実行することです。 ほぼ全てのjavaコードはSpring配置ファイルで管理できる。 要約 インスタンスを生成する : <bean.../> setterメソッド : <property.../> getterメソッド : PropertyPathFactoryBean OR <util:property-path.../> メソッド : Me</util:property-path.../></property.../></bean.../>…

Spring4 - Beanのライフサイクル

singleton - クライアントはBeanのライフサイクルに関与できない prototype - コンテナーはBeanの生成後、ライフサイクルに関与できない DI後の行為 init-method属性 InitializingBeanインタフェース Bean破棄後の行為 destory-method属性 DisposableBeanイ…

Spring4 - 抽象Beanと子Bean

下記定義は、人間は共通で目2個、口1個であることを定義してある。

Spring4 - Beanを生成する三つの方式

コンストラクタによる生成 <constructor-arg.../> 静的factoryによる生成 : 工場Beanを生成する必要がない factory-method 動的factoryによる生成 : 先に工場Beanを生成する factory-bean factory-method </constructor-arg.../>

Spring4 - XML設定ファイルをjavaクラスで記述する

Spring3.0からXML定義だけではなくjavaクラスでも定義可能である。 Java配置クラス常用Annotaion @Configuration : class修飾、設定ファイルであること @Bean : method修飾、Beanであること @Value : field修飾、変数であること @Import : class修飾、他のJa…

Spring4 - 設定ファイル関連キーワード

<beans.../> : Spring設定ファイルのルート defalut-lazy-init defalut-merge defalut-autowire defalut-autowire-condidates defalut-init-method defalut-destory-method <bean.../> id : 唯一識別 class : クラス指定 name : カンマ区切りで複数指定可能 スコープ singoleton p</bean.../></beans.../>…

Spring4 - ApplicationContextAware、BeanNameAware

・BeanFactory - BeanFactoryを取得する ・ApplicationContextAware - ApplicationContextを取得する ・BeanNameAware - BeanのIDを取得する ApplicationContextAwareサンプル package app.aware; import org.springframework.beans.BeansException; import …

Spring4 - イベント通知仕組みサンプル

ApplicationContextによるイベント通知仕組み 1.ApplicationEventのサブクラスを実装する package app.event; import org.springframework.context.ApplicationEvent; public class SampleEvent extends ApplicationEvent { public SampleEvent(Object sou…

Spring4 - ApplicationContextによる国際化サンプル

1.定義 beanMessage.xml

Spring4 - ApplicationContext

一般的にはSpringコンテナーとしてBeanFactoryのサブインタフェースであるApplicationContextを利用する。 拡張機能 singletonのBeanをデフォルトで初期化し、配置で初期化のキャンセルもできる MessageSourceインタフェースを継承し、国際化を提供する リソ…

Spring4 - Springコンテナー(BeanFactory)

SpringコンテナーはBean形式で配置、生成、管理(ライフサイクル)を行う。 BeanFactoryは最も基本的なSpringコンテナーのインタフェースである。 package app; import org.springframework.beans.factory.support.DefaultListableBeanFactory; import org.spr…

Spring4 - DI種類

SpringのDI方式は下記2種類がある コンストラクターによるDI setterによるDI ココを一部修正 package app.impl; import app.Pen; import app.Person; public class Japanese implements Person{ private int age; // 年齢 private String name; // 名前 priv…

Spring4 - DI (依頼注入)サンプル

SpringのDI(Dependency Inject - 外部注入)を試してみよう。 Springはインタフェース指向のプログラミングを推奨する。よって規範と実装を分離し疎結合を実現する。 1. 人とペンのインタフェースを定義する package app; public interface Person { public …