美文网首页
Define custom @Required-style an

Define custom @Required-style an

作者: lovePython | 来源:发表于2015-08-20 14:57 被阅读50次

The @Required annotation is used to make sure a particular property has been set. If you are migrate your existing project to Spring framework or have your own @Required-style annotation for whatever reasons, Spring is allow you to define your custom @Required-style annotation, which is equivalent to @Required annotation.
In this example, you will create a custom @Required-style annotation named @Mandatory, which is equivalent to@Required annotation.

1. Create the @Mandatory interface

package com.mkyong.common;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public 
@interface Mandatory {}

2. Apply it to a property

package com.mkyong.common;
public class Customer { 
    private Person person; 
    private int type; 
    private String action; 
    @Mandatory 
    public void setPerson(Person person) { 
        this.person = person; 
    } 
    //getter and setter methods
}

3. Register it

Include your new @Mandatory annotation in ‘RequiredAnnotationBeanPostProcessor’ class.

<?xml version="1.0"?>`
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
    <bean class="org.springframework.beans.factory.annotation.RequiredAnnotationBeanPostProcessor">
        <property name="requiredAnnotationType" value="com.mkyong.common.Mandatory" />
    </bean>
    <bean id="CustomerBean" class="com.mkyong.common.Customer">
        <property name="action" value="buy" />
        <property name="type" value="1" />
    </bean>
</beans>

4. Done

Done, you just created a new custom @Required-style annotation named @Mandatory, which is equivalent to `@Required`` annotation.

相关文章

网友评论

      本文标题:Define custom @Required-style an

      本文链接:https://www.haomeiwen.com/subject/lmjgqttx.html