0
私はカスタムアノテーションを実装しようとしています: をし、これまでに次のように書いた:Javaのカスタム注釈および動的なデータベースコンテンツ
@Target({ElementType.FIELD,ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface MappedField{
boolean isValueRequired() default false;
}
クラスのプロパティ/メソッドがisValueRequired =真であれば私の要件があります次に、このプロパティのマッピングされた値をデータベースから取得する必要があります。
たとえば、私のdbでは、敬礼はMRの場合は01、MRSの場合は02などです。
そして、この注釈は、私は、DBからフェッチするために自動的にプロパティ値をしたい有効になっている場合:
他の質問から、私は後でこのような何かを注釈を解析する必要があることをほのめかしました:
public static void performAnnotationScanOnClass(Class<?> clazz) {
Field[] fields = clazz.getDeclaredFields();
for (Field field : fields) {
Annotation[] annotations = field.getAnnotations();
for (Annotation annotation : annotations) {
if (annotation instanceof MappedField) {
MappedField mappedField= (MappedField) annotation;
// if (field.get(...) == null)
// field.set(... , value)
}
私の要点は、注釈を解析するためにこのコードを書く必要があるところです。 ご協力いただければ幸いです。
ありがとう
これは別の可能性がありますか?すべてのインスタンスが工場を通じて作成されることを保証するのは難しいだろうから – Roxy
もちろん。文字通り、コードが実行され、オブジェクトが操作され、データベースにアクセスできる任意の場所。 – Kayaman