@Component

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

  1. @SpringBootApplication
  2. @ComponentScan(basePackages = "com.xx.aa.requester.producter")
  3. public class TestApplication {
  4.  
  5. public static void main(String[] args){
  6.  
  7. SpringApplication.run(TestApplication.class,args);
  8.  
  9. }
  10.  
  11. }

@ConfigurationProperties 读取配置文件

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

  1. @Component("queueConfiguration")
  2. @ConfigurationProperties(prefix = "requester.rocketmq", )
  3. public class QueueConfiguration {
  4.  
  5. private String rocketHost;
  6.  
  7. public String getRocketHost() {
  8. return rocketHost;
  9. }
  10.  
  11. public void setRocketHost(String rocketHost) {
  12. this.rocketHost = rocketHost;
  13. }
  14.  
  15. public String getTopic() {
  16. return topic;
  17. }
  18.  
  19. public void setTopic(String topic) {
  20. this.topic = topic;
  21. }
  22.  
  23. private String topic;
  24.  
  25. }

调用配置文件

  1. @Component("queueProducter")
  2. public class QueueProducter {
  3.  
  4. @Autowired
  5. QueueConfiguration queueConfiguration;
  6.  
  7. public void SendQueue(){
  8.  
  9. System.out.println(queueConfiguration.getRocketHost());
  10.  
  11. }
  12.  
  13. }

测试用例

  1. @RunWith(SpringRunner.class)
  2. @SpringBootTest(classes=TestApplication.class,
  3. webEnvironment = SpringBootTest.WebEnvironment.NONE)
  4. public class QueueProducterTest {
  5.  
  6. @Autowired
  7. QueueProducter queueProducter;
  8.  
  9. @Test
  10. public void testQueue(){
  11.  
  12. System.out.println(">>>>>>>>>>>>>> testing...");
  13. queueProducter.SendQueue();
  14. }
  15. }

 AutoConfig

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

  1. org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.aa.aaConfig,com.aa.aaComponent
  2.  
  3. MavenTest Resource支持
  4.  
  5. idea中配置模块的Test Resource,在Maven中编译时执行测试单元时失效,可以增加maventest resource配置build节点中增加:
  1. <build>
    <testResources>
    <testResource>
    <directory>${project.basedir}/src/test/resource</directory>
    </testResource>
    </testResources>
    </build>

spring boot注解学习记的更多相关文章

  1. Spring Boot 项目学习 (二) MySql + MyBatis 注解 + 分页控件 配置

    0 引言 本文主要在Spring Boot 基础项目的基础上,添加 Mysql .MyBatis(注解方式)与 分页控件 的配置,用于协助完成数据库操作. 1 创建数据表 这个过程就暂时省略了. 2 ...

  2. 73. Spring Boot注解(annotation)列表【从零开始学Spring Boot】

    [从零开始学习Spirng Boot-常见异常汇总] 针对于Spring Boot提供的注解,如果没有好好研究一下的话,那么想应用自如Spring Boot的话,还是有点困难的,所以我们这小节,说说S ...

  3. Spring Boot 项目学习 (四) Spring Boot整合Swagger2自动生成API文档

    0 引言 在做服务端开发的时候,难免会涉及到API 接口文档的编写,可以经历过手写API 文档的过程,就会发现,一个自动生成API文档可以提高多少的效率. 以下列举几个手写API 文档的痛点: 文档需 ...

  4. Spring Boot 项目学习 (三) Spring Boot + Redis 搭建

    0 引言 本文主要介绍 Spring Boot 中 Redis 的配置和基本使用. 1 配置 Redis 1. 修改pom.xml,添加Redis依赖 <!-- Spring Boot Redi ...

  5. Spring Boot 项目学习 (一) 项目搭建

    0 引言 本文主要记录借用Idea 开发环境下,搭建 Spring Boot 项目框架的过程. 1 系列文档目录 Spring Boot 项目学习 (一) 项目搭建 Spring Boot 项目学习 ...

  6. Spring Boot 注解之ObjectProvider源码追踪

    最近依旧在学习阅读Spring Boot的源代码,在此过程中涉及到很多在日常项目中比较少见的功能特性,对此深入研究一下,也挺有意思,这也是阅读源码的魅力之一.这里写成文章,分享给大家. 自动配置中的O ...

  7. Spring boot注解(annotation)含义详解

    Spring boot注解(annotation)含义详解 @Service用于标注业务层组件@Controller用于标注控制层组件(如struts中的action)@Repository用于标注数 ...

  8. Spring boot 注解简单备忘

    Spring boot 注解简单备忘 1.定义注解 package com.space.aspect.anno;import java.lang.annotation.*; /** * 定义系统日志注 ...

  9. Spring Boot的学习之路(03):基础环境搭建,做好学习前的准备工作

    1. 前言 <论语·魏灵公>:"工欲善其事,必先利其器.居是邦也,事其大夫之贤者,友其士之仁者." 工欲善其事必先利其器.我们在熟悉一个陌生项目的时候,首先会大概去看一 ...

随机推荐

  1. Unbuntu+nginx+mysql+php

    1/准备 sudo su --切换到root 2/nginx安装 apt-get update apt-get install nginx 3/mysql 安装 apt-get install mys ...

  2. 2个 List<T>进行数据合并

    var userF = new List<User>(); User m1 = new User() { Id = "0" }; userF.Add(m1); var ...

  3. 洛谷 P3398 仓鼠找sugar 解题报告

    P3398 仓鼠找sugar 题目描述 小仓鼠的和他的基(mei)友(zi)sugar住在地下洞穴中,每个节点的编号为1~n.地下洞穴是一个树形结构.这一天小仓鼠打算从从他的卧室(a)到餐厅(b),而 ...

  4. 解题:APIO 2008 免费道路

    题面 我们发现我们可以很容易知道最终完成的生成树中有多少鹅卵石路,但是我们不好得到这棵生成树的结构,所以我们尽量“谨慎”地完成生成树·,最好是一点点加到我们要达到的标准而不是通过删掉一些东西来完成 我 ...

  5. 【状压DP】【CF8C】 Looking for Order

    传送门 Description 给你n个点,每次可以从起点到最多两个点然后回到起点.求经过每个点最少一次的最短欧氏距离和是多少 Input 第一行是起点的坐标 第二行是点的个数\(n\) 下面\(n\ ...

  6. 使用 css 的 keyframe 实现 loading 动画

    效果查看:https://jsfiddle.net/rubys/je16qL5k/6/ <!DOCTYPE html> <html lang="en"> & ...

  7. laravel 5.1 Eloquent常见问题

    1.新增一条记录以及判断是否新增成功 $instance = XxxModel::create(['a' => 1, 'b' => 2]); if ($instance->exist ...

  8. ELK Betas 6.0安装及使用

    Betas 6.0安装及使用 注意: Elastic官网更新非常的快,每个版本的文档有会有不同,具体需要去官网查看最新文档进行配置调整. Beats 平台集合了多种单一用途数据采集器.这些采集器安装后 ...

  9. [DeeplearningAI笔记]序列模型3.9-3.10语音辨识/CTC损失函数/触发字检测

    5.3序列模型与注意力机制 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.9语音辨识 Speech recognition 问题描述 对于音频片段(audio clip)x ,y生成文本 ...

  10. C++标准库头文件找不到的问题

    当你写C++程序时,在头文件中包含C++标准库的头文件,比如#include <string>,而编译器提示你找不到头文件! 原因就是你的实现源文件扩展名是".c"而不 ...