注解好强大,这里把遇到的注解逐步更新上来,做个记录。

@Import

手动导入一个没有注解的类

定义一个类

public class dog {
}
@SpringBootApplication
@Import({dog.class})
public class DemoApplication extends SpringBootServletInitializer {protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {return builder.sources(DemoApplication.class);}public static void main(String[] args) {ConfigurableApplicationContext context = SpringApplication.run(DemoApplication.class, args);System.out.println(context.getBean(dog.class));System.out.println(context.getBean(dog.class));}

输出如下:

@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})

exclude为排查数据库,排除默认的数据库自动加载

@Bean

Spring的@Bean注解用于告诉方法,产生一个Bean对象,然后这个Bean对象交给Spring管理

示例:写一个dog类,在写一个cat类

@Component
public class dog {@Beanpublic  cat getCat(){cat ct = new cat();System.out.println(ct);return ct;}
}
public class cat {
}
 public static void main(String[] args) {ConfigurableApplicationContext context =SpringApplication.run(SecondApplication.class, args);System.out.println(context.getBean(dog.class));System.out.println(context.getBean(cat.class));}

可以看到,

果然这个类交给了spring管理,两个类是一样的。

另外,@Bean 注释的函数,还可以传递参数,但是传递的参数的类型,必须也要有@Bean注释过。

感觉spring的逻辑是这样的,先找类型,再找参数名字一样的,如果找不到,就按照类型来。

看下面的例子

@Component
public class dog {@Beanpublic  pick firstpick(){return new pick(1);}@Bean pick secondpick(){return new pick(2);}@Beanpublic  cat getCat(pick firstpick ,pick secondpick){System.out.println("firstpick = "+firstpick.m_i);System.out.println("secondpick ="+secondpick.m_i);cat ct = new cat();System.out.println(ct);return ct;}
}

看输出:

@ConfigurationProperties

添加yml的配置,再这里添加

好坑,@ConfigurationProperties(prefix = "myyml") 这里的myyml只能写小写。

而不是文件里面的大写,查了我好几个小时

这里还有一个注意事项:

就是默认会去读取application.yml 但是我们还可以让其去读取application-dev.yml的配置文件。增加下面配置即可。

spring:# 环境 dev|test|prodprofiles:active: dev

@Value

可以用来获取配置文件的值

举个列子

    @Value("${web.upload-files}")private String uploadFilePath;

配置文件这么写:

打印这个值 ,结果OK。

SpringBoot之注解相关推荐

  1. @retention注解作用_分分钟带你玩转SpringBoot自定义注解

    在工作中,我们有时候需要将一些公共的功能封装,比如操作日志的存储,防重复提交等等.这些功能有些接口会用到,为了便于其他接口和方法的使用,做成自定义注解,侵入性更低一点.别人用的话直接注解就好.下面就来 ...

  2. SpringBoot核心注解介绍

    我们看一下SpringBoot核心注解的一个介绍,其实我们之前在SpringBoot当中呢,我们用过这些注解了,只是我们没有去说一下每个注解的详细含义,那么我们在这里把它补齐,我们打开我们的代码,我们 ...

  3. 近100个Spring/SpringBoot常用注解汇总!

    作者 | Guide 来源 | JavaGuide(微信公众号) 毫不夸张地说,这篇文章介绍的 Spring/SpringBoot 常用注解基本已经涵盖你工作中遇到的大部分常用的场景.对于每一个注解我 ...

  4. SpringBoot核心注解@SpringBootApplication一二

    SpringBoot核心注解@SpringBootApplication,用于SpringBoot项目的启动类上,在 2.2.0.RELEASE 版本中是4个注解的组合,即 @SpringBootCo ...

  5. SpringBoot2.1.5 (4)---SpringBoot 常用注解说明

    SpringBoot2.1.5 (4)---SpringBoot 常用注解说明 @SpringBootApplication Spring Boot的项目一般都会有*Application的入口类,入 ...

  6. 元旦加班写SpringBoot自定义注解

    写在前面 这个点我们公司的人走的已经差不多了,原因很简单呀,明天元旦嘛,放假前可是不加班的,很nice,实习生的我,今天给大家分享一篇springboot自定义注解的技术文章. 很牛逼的注解 开发过程 ...

  7. Springboot自定义注解实现用户登录状态校验(一)

    Springboot自定义注解实现用户登录状态校验(一) 拦截器方式 定义注解类 import java.lang.annotation.*;/*** @author:小飞猪* @date:2020/ ...

  8. springboot结合注解动态获取数据库表

    springboot结合注解动态获取数据库表 1 对于分表的处理,可以通过Mybatis-Plus动态表名插件(DynamicTableNameInnerInterceptor)来实现,实现的思路主要 ...

  9. 接近8000字的Spring/SpringBoot常用注解总结!安排!

    文章目录 0.前言 1. `@SpringBootApplication` 2. Spring Bean 相关 2.1. `@Autowired` 2.2. `Component`,`@Reposit ...

  10. 【日常】SpringBoot缓存注解器及整合redis实现(附近期一些python零碎的内容)

    序言 似乎灵感枯竭了,完全不知道该写些什么东西,非常的痛苦,决定走读博这条路之后就失去了很多乐趣,总是想应该积累更多的论文和相关项目代码量,但是效率却总是很低,需要应付课程与考试,一篇paper的阅读 ...

最新文章

  1. python表白对话框-python会话框
  2. OpenCASCADE绘制测试线束:形状修复命令之转换命令
  3. 【C语言简单说】十五:while循环
  4. WinPcap笔记(2):获取设备列表
  5. 【HTML/CSS】定位方式及区别
  6. js的异常处理 try catch
  7. python基础语法、数据结构、字符编码、文件处理 练习题
  8. libc库和系统调用
  9. 手机 safari mac 调试
  10. 自动化运维--python_自动化-设计师的朋友还是敌人?
  11. linux 内核编程视频
  12. quick-cocos2dx 组件管理器
  13. MySQL8pdf_Mysql8.0中文参考手册 中英文chm+pdf版
  14. 支付宝与微信:移动支付的巅峰对决
  15. 华为交换机配置ntp服务时间 自动同步不成功unsynchronized
  16. 使用Dockerfile集成python3 docker基础镜像
  17. tiptop 编译运行_TIPTOP MPS(amsp500)运行流程
  18. 实验吧WEB CTF 猫抓老鼠 全网最简单易懂的解题方法
  19. 图解三代测序(SMRT Sequencing)
  20. Zynq-7000 - Which IBIS models should be used for Zynq-7000 devices?

热门文章

  1. 深度学习 --- 受限玻尔兹曼机RBM(MCMC和Gibbs采样)
  2. python爬虫执行js代码_python爬虫执行js代码-execjs
  3. 货物与产品的区别_商品与一般物品和其他产品有什么区别?
  4. 英语-汉语600句-会见:Making an Appointment/约会
  5. 《Java编程思想》笔记14.类型信息
  6. MySql 8 命令
  7. python RE表达式规则剩余规则
  8. 固定二进制位的整型变量
  9. 20+个很棒的Android开源项目
  10. 关于constraint 的disable和enable