liguofeng29’s blog

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

2016-01-01から1年間の記事一覧

Get Properties from File.

package org.lee.util; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.Enumeration; import java.util.Iterator; import java.util.Properties; public class PropertyU…

junit.framework.TestSuiteを使って、AllTest.javaを実装する。

・AllTest.java package org.lee.samle; import junit.framework.JUnit4TestAdapter; import junit.framework.Test; import junit.framework.TestSuite; public class AllTest { public static Test suite() { TestSuite suite = new TestSuite(); // TestCa…

Hibernate - 関連マッピング - @OneToMany

@OneToManyのサンプル 一人(1)が複数(N)のアドレスを持つ。 <hibernate-configuration> <session-factory> </session-factory></hibernate-configuration>

Hibernate - 関連マッピング - @ManyToOne

@ManyToOneのサンプル 複数の人(N)が同じ(1)のアドレスを持つ。 <hibernate-configuration> <session-factory> </session-factory></hibernate-configuration>

Hibernate - 関連マッピング - 単向

エンティティの単向関係 : 必ずAと通してBをアクセスする。 分類 単向1 ⇒ 1 : @OneToOne cascade fetch mappedBy orphanRemoval optional targetEntity 単向N ⇒ 1 : @ManyToOne cascade fetch optional targetEntity 単向1 ⇒ N : @OneToMany cascade fetch m…

Hibernate - Map属性マッピング

Mapを持つ永続化クラスの保存サンプル。 キーのAnnotaion @ElementCollection @ColletionTable @Column @MapKeyColumn 1. hibernate.xml

Hibernate - Set属性マッピング

Setを持つ永続化クラスの保存サンプル。 キーのAnnotaion @ElementCollection @ColletionTable @Column @OrderColumn ※ Listとは異なるのは、Setは順序がなく重複を許さないため、@OrderColumnは不要である! ※ SetのIFのみ使え、実装は使えない。 1. hibe…

Hibernate - List属性マッピング

Listを持つ永続化クラスの保存サンプル。 キーのAnnotaion @ElementCollection @ColletionTable @Column @OrderColumn 1. hibernate.xml

Hibernate - 永続化オブジェクト

参考:第10章 オブジェクトを扱う 永続化クラスの要件 パラメータなしのコンストラクター ID属性 setter,getter 非finalクラス equals(), hashCode() 永続化オブジェクトの状態 Transient : newした状態 Persistent : sessionスコープにある Detached : Pers…

Hibernate - 設定ファイル概要

Hibernateの永久化クラスの操作はSessionFactoryを離れない。 SessionFactoryはConfigurationオブジェクトから生成され、逆にConfigurationの唯一の機能はSessionFactoryに生成であり、生成後は破棄される。 Configurationの三つの生成方法 hibernate.proper…

Hibernate - 試してみようサンプル

設定ファイル : hibernate.cfg.xml <hibernate-configuration> <session-factory> </session-factory></hibernate-configuration>

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…