Springでアノテーションを使ってプロパティファイルを読み込む
調べてもパッと出て来なかったので忘備録
ただし、結局プロパティの読み込みはアノテーションよりもXMLのほうで読み込んだ方がわかりやすいかも.
とはいいつつ、わからないのが気持ち悪いので一応書く.
@Configuration @PropertySource("classpath:parameter.properties") //プロパティファイルの読み込み public class User { @Autowired private Environment env; //読み込んだプロパティの結果が格納される public void speak() { System.out.println("こんにちは" + env.getProperty("name") + "です"); //プロパティのキーを指定(この場合は"name"がキー)して値を取得 } }
こんな感じ.
knife-soloをUbuntuにインストールする
基本的にドットインストールの動画通りだけど、chef-soloのインストールで詰まったのでメモ.
まず、chefを https://learnchef.opscode.com/quickstart/workstation-setup/#linux を参考にインストールする
$sudo gem install knife-solo Fetching: mixlib-config-1.1.2.gem (100%) Fetching: mixlib-cli-1.3.0.gem (100%) Fetching: mixlib-log-1.6.0.gem (100%) Fetching: mixlib-authentication-1.3.0.gem (100%) Fetching: mixlib-shellout-1.2.0.gem (100%) Fetching: systemu-2.5.2.gem (100%) Fetching: yajl-ruby-1.1.0.gem (100%) Building native extensions. This could take a while... ERROR: Error installing knife-solo: ERROR: Failed to build gem native extension. /usr/bin/ruby1.9.1 extconf.rb /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load suc h file -- mkmf (LoadError) from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from extconf.rb:1:in `<main>' Gem files will remain installed in /var/lib/gems/1.9.1/gems/yajl-ruby-1.1.0 for inspection. Results logged to /var/lib/gems/1.9.1/gems/yajl-ruby-1.1.0/ext/yajl/gem_make.ou t
あ?
requireされているmkmfがないらしい。
$ sudo apt-get install make $ sudo gem install knife-solo Building native extensions. This could take a while... 省略 Installing RDoc documentation for knife-solo-0.2.0...
$ knife -v Chef: 11.6.0
入ったぽい。めでたし。
svnでコミット時にinternal Server Errorがでるときの対処
個人用のsvnをたててみようとしたらコミット時にinternal Server Errorが出て困った
一応解決したので、そのときの対処法をメモ
まずエラーが出るまでの道順が以下
リポジトリを作成してから
$ sudo svnadmin create /var/svn/repository
適当なディレクトリにチェックアウトする
$ svn checkout http://sample.com/svn/repository/ repository
次に適当にディレクトリを追加してコミットするとエラーがでる
$ cd repository/ $ svn mkdir testdir $ svn -m "test commit" commit svn: E175002: Commit failed (details follow): svn: E175002: Server sent unexpected return value (500 Internal Server Error) in response to POST request for '/svn/repository/!svn/me
以下解決法
まず、原因はパーミッション
svnの設定でweb-davを使うようにしてるからだと思うが
なので、svnのリポジトリの所有者をapacheの実行ユーザにする必要がある
今回の場合は、リポジトリにしているのが /var/svn/repository なので
/var/svn/repositoryの所有者をapacheの実行ユーザ(www-data)に変えて
$ sudo chown -R www-data:www-data /var/svn/repository/
再びコミットに挑戦してみるとコミットできる
$ svn -m "test commit" commit Adding testdir Committed revision 1.
めでたしめでたし
テスト
読んだ本とか記事とか下手したらプログラムのことについての備忘録を書くかもしれない。
テスト投下。