SpringBoot之注解
注解好强大,这里把遇到的注解逐步更新上来,做个记录。
@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之注解相关推荐
- @retention注解作用_分分钟带你玩转SpringBoot自定义注解
在工作中,我们有时候需要将一些公共的功能封装,比如操作日志的存储,防重复提交等等.这些功能有些接口会用到,为了便于其他接口和方法的使用,做成自定义注解,侵入性更低一点.别人用的话直接注解就好.下面就来 ...
- SpringBoot核心注解介绍
我们看一下SpringBoot核心注解的一个介绍,其实我们之前在SpringBoot当中呢,我们用过这些注解了,只是我们没有去说一下每个注解的详细含义,那么我们在这里把它补齐,我们打开我们的代码,我们 ...
- 近100个Spring/SpringBoot常用注解汇总!
作者 | Guide 来源 | JavaGuide(微信公众号) 毫不夸张地说,这篇文章介绍的 Spring/SpringBoot 常用注解基本已经涵盖你工作中遇到的大部分常用的场景.对于每一个注解我 ...
- SpringBoot核心注解@SpringBootApplication一二
SpringBoot核心注解@SpringBootApplication,用于SpringBoot项目的启动类上,在 2.2.0.RELEASE 版本中是4个注解的组合,即 @SpringBootCo ...
- SpringBoot2.1.5 (4)---SpringBoot 常用注解说明
SpringBoot2.1.5 (4)---SpringBoot 常用注解说明 @SpringBootApplication Spring Boot的项目一般都会有*Application的入口类,入 ...
- 元旦加班写SpringBoot自定义注解
写在前面 这个点我们公司的人走的已经差不多了,原因很简单呀,明天元旦嘛,放假前可是不加班的,很nice,实习生的我,今天给大家分享一篇springboot自定义注解的技术文章. 很牛逼的注解 开发过程 ...
- Springboot自定义注解实现用户登录状态校验(一)
Springboot自定义注解实现用户登录状态校验(一) 拦截器方式 定义注解类 import java.lang.annotation.*;/*** @author:小飞猪* @date:2020/ ...
- springboot结合注解动态获取数据库表
springboot结合注解动态获取数据库表 1 对于分表的处理,可以通过Mybatis-Plus动态表名插件(DynamicTableNameInnerInterceptor)来实现,实现的思路主要 ...
- 接近8000字的Spring/SpringBoot常用注解总结!安排!
文章目录 0.前言 1. `@SpringBootApplication` 2. Spring Bean 相关 2.1. `@Autowired` 2.2. `Component`,`@Reposit ...
- 【日常】SpringBoot缓存注解器及整合redis实现(附近期一些python零碎的内容)
序言 似乎灵感枯竭了,完全不知道该写些什么东西,非常的痛苦,决定走读博这条路之后就失去了很多乐趣,总是想应该积累更多的论文和相关项目代码量,但是效率却总是很低,需要应付课程与考试,一篇paper的阅读 ...
最新文章
- python表白对话框-python会话框
- OpenCASCADE绘制测试线束:形状修复命令之转换命令
- 【C语言简单说】十五:while循环
- WinPcap笔记(2):获取设备列表
- 【HTML/CSS】定位方式及区别
- js的异常处理 try catch
- python基础语法、数据结构、字符编码、文件处理 练习题
- libc库和系统调用
- 手机 safari mac 调试
- 自动化运维--python_自动化-设计师的朋友还是敌人?
- linux 内核编程视频
- quick-cocos2dx 组件管理器
- MySQL8pdf_Mysql8.0中文参考手册 中英文chm+pdf版
- 支付宝与微信:移动支付的巅峰对决
- 华为交换机配置ntp服务时间 自动同步不成功unsynchronized
- 使用Dockerfile集成python3 docker基础镜像
- tiptop 编译运行_TIPTOP MPS(amsp500)运行流程
- 实验吧WEB CTF 猫抓老鼠 全网最简单易懂的解题方法
- 图解三代测序(SMRT Sequencing)
- Zynq-7000 - Which IBIS models should be used for Zynq-7000 devices?