Skip to content

ls9527/adp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

use design pattern in spring

factory:

public interface Bird {
    void sayHello();
}


@AdpFactory(name = FactoryConstants.SPARROW)
@Service
public class Sparrow implements Bird {
    private static final Logger logger = LoggerFactory.getLogger(Sparrow.class);
    @Override
    public void sayHello() {
        logger.info("Sparrow say hello");
    }
}

@AdpFactory(name = FactoryConstants.WOODPECKER)
@Service
public class Woodpecker implements Bird {
    private static final Logger logger = LoggerFactory.getLogger(Woodpecker.class);
    @Override
    public void sayHello() {
        logger.info("Woodpecker say hello");
    }
}

public class FactoryConstants {
    public static final String SPARROW = "SPARROW";
    public static final String WOODPECKER = "WOODPECKER";
}

test:

public class FactoryTest {
    @FactoryResource
    private Factory<Bird> factory;

    @Test
    public void sparrow() {
        Bird bird = factory.getBean(FactoryConstants.SPARROW);
        bird.sayHello();
    }
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages