spring boot注解学习记

@Component

Compent等效于xml文件中的Bean标注,Autowired自动初始化Bean是通过查找Component注解实现的,在增加Component后还是Autowired找不到的情况,应该是在main类中没有增加ComponentScan注解。

@SpringBootApplication
@ComponentScan(basePackages = "com.xx.aa.requester.producter")
public class TestApplication {

    public static void main(String[] args){

        SpringApplication.run(TestApplication.class,args);

    }

}

@ConfigurationProperties 读取配置文件

ConfigurationProperties注解用于标注读取配置文件的节点,PropertySource用于标注文件,如果PropertySource不设置,默认读取application.properties或application.yml文件。

@Component("queueConfiguration")
@ConfigurationProperties(prefix = "requester.rocketmq", )
public class QueueConfiguration {

    private String rocketHost;

    public String getRocketHost() {
        return rocketHost;
    }

    public void setRocketHost(String rocketHost) {
        this.rocketHost = rocketHost;
    }

    public String getTopic() {
        return topic;
    }

    public void setTopic(String topic) {
        this.topic = topic;
    }

    private String topic;

}

调用配置文件 

@Component("queueProducter")
public class QueueProducter {

    @Autowired
    QueueConfiguration queueConfiguration;

    public void SendQueue(){

        System.out.println(queueConfiguration.getRocketHost());

    }

}

 测试用例

@RunWith(SpringRunner.class)
@SpringBootTest(classes=TestApplication.class,
        webEnvironment = SpringBootTest.WebEnvironment.NONE)
public class QueueProducterTest {

    @Autowired
    QueueProducter queueProducter;

    @Test
    public void testQueue(){

        System.out.println(">>>>>>>>>>>>>> testing...");
        queueProducter.SendQueue();
    }
}

 AutoConfig

AutoConfig是在跨jar引用的时候的一种自动配置实现,增加resource/META-INF/spring.factories文件,配置:

org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.aa.aaConfig,com.aa.aaComponent

Maven中Test Resource支持

在idea中配置模块的Test Resource,在Maven中编译时执行测试单元时失效,可以增加maven的test resource配置build节点中增加:
<build>
<testResources>
<testResource>
<directory>${project.basedir}/src/test/resource</directory>
</testResource>
</testResources>
</build>

 

posted @ 2018-08-07 22:16  阿旭^_^  阅读(338)  评论(0编辑  收藏  举报