アノテーション
@ を付けて追加情報を書き込む機能。
アノテーションを付けて、付加情報(メタデータ)を付けると、
コード検査、コード生成、特別な処理を実行することが出来ます。
コードを見通しをよくし、保守性や拡張性を高める役割を持っています。
@Autowired //@がついてるやつ
private SampleService sampleService
FWであるSpringではアノテーションを使って効率化を図ったりしています。
インターフェース
インターフェースとは。
メソッドの定義や変数の定義のみのファイルのこと。
Javaで使われるインターフェースとは、クラスに含まれるメソッドの具体的な処理内容を記述せず、変数とメソッドの型のみを定義したものです。
中身のロジックは書かずに、関数だけ書いてしまう感じかな。
以下のようにインターフェースを宣言および実装を行います。
【インターフェースの宣言】
interface インターフェース名{}
【インターフェースの実装】
class クラス名 implements インターフェース名{}
//SpringだとService classをinterfaceとしている所がありますね
@Service
public class SampleService{
}
Enumの使い方
genreConsts.java
//enumファイル
public class GenreConsts{
public enum Genre implements DbConsts{
//定数
ANIME(1,"アニメ"),
DRAMA(2."ドラマ")
}
//変数名
public Integer id;
public String name;
//インスタンスデータ
private Genre(Integer id,String name){
this.id = id;
this.name = name;
}
public static Genre getEnum(Integer value){
for(Genre genre:Genre.value){
if(genre.id.equals(value){
return genre;
}
}
}
public static String getName(String value){
for(Genre genre:Genre.values()){
if(genre.name.equals(value)){
return genre.name;
}
}
return null;
}
public static String getId(String value){
for(Genre genre:genre.values()){
if(genre.name.equals(value)){
return genre.id;
}
}
return null;
}
}
使い方
//sample.genreはintの1が入ってます
sample.genreName = Genre.getName(sample.genre);
//結果-> 「アニメ」が出力
EnumであるGenreクラスは、インスタンスを生成する意味合いが無いので、
メソッドはstaticで宣言し、インスタンス無しで何処でも呼び出すことができるので
シンプルに書くことができますね。