2011-01-01から1年間の記事一覧
前に作っていたBOTアプリを久々にいじっていたらモノの弾みでプロジェクトを破棄してしまいました…。自宅でお遊びする時でもコミットはしましょうと反省。で、どうせやるならなんか流行ってるっぽいGithubを使ってみようと思いました。ぶっちゃけ今更ですが…
cloudbees+playframeworkの環境で、試しにBOT生成アプリを作ってみました。twitter BOT生成アプリケーションtwittbotの劣化アプリ*1です。一応Reply返したり定期的につぶやいたりするくらいの機能はあります。無料アカウントなのでスケールはしないと思いま…
・インタセプタと継承 インターセプションの仕様を考えると、全てのコントローラの基底クラスを定義すべきですね。全てのコントローラに対して透過的に適用したい処理は、 public class BaseController extends Controller{ @Before public static void befo…
■Playframework for Javaでアプリ作成 ドキュメントはhttp://playdocja.appspot.com/documentation/1.2.2/homeを参考。 環境作成&最初のアプリケーションを生成 eclipsifyコマンドで作成されたアプリケーションをelcipse project化 HellWorldアプリを実装 ■…
4.7.1 Constructing application contexts ApplicationContextのコンストラクタは、普通はXMLファイルの在処を示すString(の配列)を引数としてもらう。指定したパスにprefixが指定されない場合は、ApplicationContextのクラスごとにどのResourceの実装クラ…
Beanがリソースのパスを指定してリソースの取得を行う場合、おそらくResourceLoaderのインタフェースを使うだろう。ここで、あるテンプレートを読み込む例を考える。このテンプレートは、ユーザーのロールごとに異なるリソースが必要になるとしよう。もし静…
ResourceLoaderをインジェクションしてもらうためのマーカーインタフェースです。 public interface ResourceLoaderAware { void setResourceLoader(ResourceLoader resourceLoader); }ResourceLoaderAwareを実装した、SpringIoC配下にあるBeanにはResourcLo…
リソースを取得する責務を表すインタフェースです。 public interface ResourceLoader { Resource getResource(String location); }ApplicationContextは全てResourceLoaderを実装する。そのため全てのアプリケーションコンテキストからResourceを取得できる…
4.3 Built-in Resource implemetations SpringにバンドルされているResourceの実装クラスについて。 4.3.1 UrlResource java.net.URLをラップしており、URLを介して取得できるファイルや、HTTPリソース、FTPリソースなどを取得するために用いる。URLは一般的…
4.2 The Resource interface そこでSpringでは、java.net.URLよりもリソースを表現するよりよい抽象概念(abstraction)として、Resourceインタフェースを提供する。 public interface Resource extends InputStreamSource { //リソースが存在するかをチェック…
Spring Resourceについての説明。4.1 Introduction java.net.URLと、URLのスキーマごとに対応する標準のハンドラクラスでは、リソースへの色々なアクセスの仕方を実現できない。例えばURLの標準実装では、クラスパスからのリソース検索や、サーブレットコン…
http://d.hatena.ne.jp/minokuba/20110501/1304265347の10.5.7.1 Requiredにある以下の記述が納得行かないんです。 PROPAGATION_REQUIREDの場合、内側のトランザクションがrollback-markを付与した場合はそれは外側のトランザクションに伝搬する。もし内側の…
http://swik.net/Spring/Spring%27s+corner/Integrate+P6Spy+with+Spring/vq6にありましたが、一応備忘録。Springで既存のAPIとうまく折り合うコツみたいなのがわかる気がする。 #ああ、今さら今さら。
もう面倒だからまとめちゃうよ。10.7 Choosing between programmatic and declarative transaction management 宣言的トランザクションとプログラムによるトランザクション。アプリの規模が大きくなったら宣言的にやらないと回らないよというだけの簡単なお…
ひとまず、開発実践がない状態なので妄想に過ぎませんがだらだらメモってみます。Spring Transactionの機能を用いると、トランザクションの設定をIoCコンテナの設定ファイル(XMLファイル)を用いて行うことができます。またアノテーションを用いて行うこと…
プログラムでトランザクション制御する方法についてのおはなし。EJBで言うところのBMTですね。方法としてはTransactionTemplateを用いるやり方と、PlatformTransactionManagerを直接用いるやり方がある。Springの中の人的にはTransactionTemplateがオススメ…
宣言的トランザクションについて。 宣言的トランザクションはSpringAOPにより実現されるが、トランザクションを扱う専用のAspectを決まりきったやり方で適用するだけでいいので、AOPの概念をちゃんと理解してなくても使用できる。Springの宣言的トランザクシ…
JDBCやHibernate,JDOなどといった永続化のAPIを、直接/間接的に扱うアプリケーションにおいて、トランザクション管理下にあるリソースを取得する方法を説明する。またあわせて、PlatformTransactionManagerを通してトランザクションとの同期が行なわれる方法…
10.3 Understanding the Spring Framework transaction abstraction Springのトランザクション管理における中心概念は、「TransactionStrategy」である。具体的にはorg.springframework.transaction.PlatformTransactionManagerを指す。 public interface Pl…
10.2 Advantages of the Spring Framework's transaction support model 長い割に内容ないのでダレた。なので要約すると、 従来のグローバルトランザクションはJTAもしくCMT EJBを使わないとダメで、これはアプリケーションサーバ上でしか動かないデメリット…
10.1 Introduction to Spring Framework transaction management トランザクション管理機能はSpringを使う最も強い動機だ。SpringFrameworkは一貫したトランザクション管理の抽象化機能を提供する。この機能により得られるのは以下のとおり。 JTA、JDBC、Hib…
7.6 Proxying mechanismsSpringAOPでは、JDK DynamicProyとCGLIBのどちらかを選択できる。(JDK DynamicProxyが優先される。) もしJDK DynamicProxyを使う場合は、アスペクトの対象となるオブジェクトは最低でもひとつのインタフェースを実装する必要がある…
@AspectJアノテーションでアスペクトを定義するやり方について説明します。なお@AspectJスタイルは、そもそもAspectJ5で導入されたものです。SpringではAspectJで定義するアノテーションと連携します。AOPのランタイムはあくまでSpringのものであり、AspectJ…
7.1.1 AOP concepts AOPの中心概念を説明する。 Aspectトランザクション管理など、関心ごとのモジュールのこと。「schema-based approach」(Javaでアスペクトを実装して設定ファイルに書く)か、「@AspectJスタイル」(Javaアスペクトを実装して@AspectJを…
3.14 The BeanFactory 基本的にBeanFactoryを直接使う必要はなくApplicationContextを使えばOK。以上。3.14.2 Glue code and the evil singleton 根性切れた。省略
概要 ApplicationContextは、BeanFactoryの機能に以下が追加されている MessageSource (リソースバンドル) ResourceLoader (URLやファイルリソース) ApplicationListener (イベント配信) HierarchicalBeanFactory (コンテナ間の連携?) 3.13.1 Inter…
<beans> <context:load-time-weaver/> </beans> これを付けるとLoadTimeWeaverAwareをインジェクションできる。これはJPAなどロード時のウィービングを行う場合に役立つ。詳細は別で。
3.11.1 Basic concepts: @Configuration and @Bean @Configurationをつけたクラスに、@Beanをつけたメソッドを定義するとbeanを定義できる。というのが中心概念。メソッド名がbean名になります。 3.11.2 Instantiating the Spring container using Annotatio…
3.10.1 @Component and further stereotype annotations ステレオタイプアノテーションについて。 @Component Springが管理するコンポーネントを表す。 @Controller MVCのコントローラ @Service サービス層 @Repository DBアクセス クラスアノテーションとし…
概要 大まかにサポートするアノテーションは以下のとおり @Required @Autowired JSR-250(@Resources,@PostConstruct) JSR-330(@Inject,@Qualifier,@Named,@Provider) → CDIですね。 これらのアノテーションを使うためには、対応するBeanPostProcessorが登録…