@Bean

public ColorFactoryBean colorFactoryBean(){

return new ColorFactoryBean();

}

//创建一个spring定义的FactoryBean

public class ColorFactoryBean implements FactoryBean {

//返回一个Color对象,并将Color添加到容器中

public Color getObject() throws Exception {

System.out.println(“ColorFactoryBean,getObject()”);

return new Color();

}

public Class<?> getObjectType() {

return Color.class;

}

public boolean isSingleton() {

return false;

}

}

2、注入bean的注解

@Autowired:由bean提供

  • @Autowired可以作用在变量、setter方法、构造函数上;

  • 有个属性为required,可以配置为false;

@Inject:由JSR-330提供

  • @Inject用法和@Autowired一样。

@Resource:由JSR-250提供

@Autowired、@Inject是默认按照类型匹配的,@Resource是按照名称匹配的,@Autowired如果需要按照名称匹配需要和@Qualifier一起使用,@Inject和@Name一起使用。

@Primary

让spring进行自动装配的时候,默认使用首选的bean,和@Qualifier一个效果。

3、@JsonIgnore

(1)作用

在json序列化时将java bean中的一些属性忽略掉,序列化和反序列化都受影响。

(2)使用方法

一般标记在属性或者方法上,返回的json数据即不包含该属性。

(3)注解失效

如果注解失效,可能是因为你使用的是fastJson,尝试使用对应的注解来忽略字段,注解为:@JSONField(serialize = false),使用方法一样。

4、初始化和销毁方法

(1)通过@Bean(initMethod=“init”,destoryMethod=“destory”)方法

(2)通过bean实现InitializingBean来定义初始化逻辑,DisposableBean定义销毁逻辑

(3)可以使用JSR250:@PostConstruct:初始化方法;@PreDestory:销毁方法。

(4)BeanPostProcessor:bean的后置处理器,在bean初始化前后进行一些处理工作

postProcessBeforeInitialization:在初始化之前工作;

postProcessAfterInitialization:在初始化工作之后工作;

5、Java配置类相关注解

@Configuration

声明当前类为配置类;

@Bean

注解在方法上,声明当前方法的返回值为一个bean,替代xml中的方式;

@ComponentScan

用于对Component进行扫描;

6、切面(AOP)相关注解

Spring AOP详细介绍

Spring支持AspectJ的注解式切面编程。

@Aspect 声明一个切面

@After 在方法执行之后执行(方法上)

@Before 在方法执行之前执行(方法上)

@Around 在方法执行之前与之后执行(方法上)

@PointCut 声明切点

在java配置类中使用@EnableAspectJAutoProxy注解开启Spring对AspectJ代理的支持

7、@Bean的属性支持

@Scope设置类型包括:

设置Spring容器如何新建Bean实例(方法上,得有@Bean)

① Singleton

(单例,一个Spring容器中只有一个bean实例,默认模式),

② Protetype

(每次调用新建一个bean),

③ Request

(web项目中,给每个http request新建一个bean),

④ Session

(web项目中,给每个http session新建一个bean),

⑤ GlobalSession

(给每一个 global http session新建一个Bean实例)

8、@Value注解

(1)支持如下方式的注入:

  • 注入普通字符

  • 注入操作系统属性

  • 注入表达式结果

  • 注入其它bean属性

  • 注入文件资源

  • 注入网站资源

  • 注入配置文件

(2)@Value三种情况的用法。

  1. ${}是去找外部配置的参数,将值赋过来

  2. #{}是SpEL表达式,去寻找对应变量的内容

  3. #{}直接写字符串就是将字符串的值注入进去

9、环境切换

@Profile

指定组件在哪个环境的情况下才能被注册到容器中,不指定,任何环境下都能注册这个组件。

@Conditional

通过实现Condition接口,并重写matches方法,从而决定该bean是否被实例化。

10、异步相关

@EnableAsync

配置类中通过此注解开启对异步任务的支持;

@Async

在实际执行的bean方法使用该注解来声明其是一个异步任务(方法上或类上所有的方法都将异步,需要@EnableAsync开启异步任务)

11、定时任务相关

@EnableScheduling

在配置类上使用,开启计划任务的支持(类上)

@Scheduled

来申明这是一个任务,包括cron,fixDelay,fixRate等类型(方法上,需先开启计划任务的支持)

12、Enable***注解说明

这些注解主要是用来开启对xxx的支持:

  • @EnableAspectAutoProxy:开启对AspectJ自动代理的支持;

  • @EnableAsync:开启异步方法的支持;

  • @EnableScheduling:开启计划任务的支持;

  • @EnableWebMvc:开启web MVC的配置支持;

  • @EnableConfigurationProperties:开启对@ConfigurationProperties注解配置Bean的支持;

  • @EnableJpaRepositories:开启对SpringData JPA Repository的支持;

  • @EnableTransactionManagement:开启注解式事务的支持;

  • @EnableCaching:开启注解式的缓存支持;

13、测试相关注解

@RunWith

运行器,Spring中通常用于对JUnit的支持

@ContextConfiguration

用来加载配置配置文件,其中classes属性用来加载配置类。

@RunWith(SpringJUnit4ClassRunner.class)

@ContextConfiguration(locations = {“classpath*

Spring常用注解(绝对经典),全靠这份Java知识点PDF大全相关推荐

  1. 全靠这份Java知识点PDF大全,先睹为快

    一. 什么是架构和架构本质 在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解. 此君说的架构和彼君理解的架构未必是一回事.因此我们在讨论架构之前,我们先讨论架构的概念定义,概念是人认识 ...

  2. 4面字节跳动拿到2-2-Offer,入职就是30K16薪,全靠这份Android知识点PDF大全

    刷题当然也是最重要的,毕竟我是有好几年没有过正规面试的经历了,于是问我在阿里的同学要来了一份他们公司P8整理的一系列大厂面试题,刷到天昏地暗,如今我也已经入职了字节跳动,这些面试题对于我来说也没什么太 ...

  3. spring 常用注解 原理 逻辑 代码演示

    01 spring 常用注解 原理 逻辑 代码演示 这是自己观看视频的笔记 文章目录 01 spring 常用注解 原理 逻辑 代码演示 一.组件注册 1.1-spring注解驱动开发 1.2-组件注 ...

  4. Spring常用注解,注解 IOC ,AOP,MVC 的理解

    文章目录 大佬总结 0.Spring常用注解 0.1.SpringBootController里面的用法 0.1.1.SpringBoot 中常用注解@Controller/@RestControll ...

  5. Spring系列之Spring常用注解总结

    参看博客:https://www.cnblogs.com/xiaoxi/p/5935009.html 传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺 ...

  6. Spring常用注解总结

    传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点: 1.如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大:如果按需求分开.xml文 ...

  7. spring autowired idea都匹配上了_你清楚这几个Spring常用注解吗?

    作者:平凡希http://cnblogs.com/xiaoxi/p/5935009.html 传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点: 如 ...

  8. Java 必须掌握的 12 种 Spring 常用注解

    转载自  Java 必须掌握的 12 种 Spring 常用注解 1.声明bean的注解 @Component 组件,没有明确的角色 @Service 在业务逻辑层使用(service层) @Repo ...

  9. Spring常用注解 - 使用注解来构造IoC容器

    Spring常用注解 使用注解来构造IoC容器 用注解来向Spring容器注册Bean.需要在applicationContext.xml中注册<context:component-scan b ...

  10. autowired注解_Spring系列之Spring常用注解总结

    作者:平凡希来源:https://www.cnblogs.com/xiaoxi/p/5935009.html 传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做 ...

最新文章

  1. 【Java 语言】Java 多线程 一 ( 线程基础 : 线程启动 | 线程停止 | 线程暂停 | 线程优先级 | 守护线程)
  2. 机械师怎么打开计算机管理,机械师创物者-R笔记本智能控制中心使用教程
  3. 表的操作(Oracle和DB2)
  4. 以国家战略科学家身份,顶级AI学者朱松纯回国,筹建北京通用AI研究院
  5. 程序员的自我修养——读《软技能-代码之外的生存指南》笔记
  6. 我搭建Wiki网站的步骤
  7. 知名社交网络 Myspace 丢失 12 年用户数据,大型系统究竟如何做迁移?
  8. Visio画UML图基本操作及技巧解析
  9. 海森堡量子力学与计算机,量子力学诞生后的120年,没有人真正懂他
  10. HomeKit支持matter协议,这背后将寓意着什么?
  11. myCat实现分库分表
  12. undefined symbol nvic 报错 undefined symbol TIM_Cmd报错
  13. PHP面试题2019年腾讯工程师面试题和答案
  14. UGUI - 制作九宫贴图
  15. std在汇编语言是什么指令_汇编语言的所有指令
  16. CS231n课程笔记翻译5:反向传播笔记
  17. 梅科尔工作室-李舒婷-鸿蒙作业3
  18. android gtd_GTD重置
  19. 通达信服务器列表在哪个文件里,【图】通达信目录文件结构及说明_通达信主题库怎么显示,通达信安装目录在哪里_股票软件技术交流论坛_理想论坛 - 股票论坛...
  20. CSDN---Markdown:换行、空格、目录、复杂表格和注脚

热门文章

  1. CnOpenData中国高等学校名单数据
  2. 爬取学校教务网课表与成绩 java版
  3. html学校代码怎么弄,学校代码查询网2020怎么查学校代码?查学校代码的方法
  4. 用计算机能打出什么歌,这样用计算机些歌谱?
  5. 想让“贾维斯”成为现实?物联网帮你拥有
  6. 简单数字电压表的c语言程序,简易数字直流电压表电路及程序
  7. cad打开a3样板图形_CAD如何绘制标准的A3图框(A3图纸样板图)
  8. C语言每日一练——第88天:汉诺塔问题(河内塔)
  9. ASE(Asset Scan Engine)资产扫描器
  10. y480 linux无线网卡驱动,联想y480无线网卡驱动下载