
注解
SONNIE在路上
韶华易逝
展开
-
@Qualifier
介绍@Qualifier限定哪个bean应该被自动注入。当Spring无法判断出哪个bean应该被注入时,@Qualifier注解有助于消除歧义bean的自动注入。使用public interface StockService {}@Componentpublic class StockServiceImpl1 implements StockService {}@Componentpublic class StockServiceImpl2 implements StockServ原创 2022-05-16 00:47:23 · 179 阅读 · 0 评论 -
@Value
介绍@Value是springframework.bean包下的核心注解之一,它可以将配置文件中的值或是bean注入到变量中。使用读取配置文件中的值@Value("${anno.ip}")String ip;@Value("${anno.pwd:123654}")String pwd;public void test() { System.out.println("ip=" + ip); System.out.println("pwd=" + pwd);}打印结果:ip原创 2022-05-16 00:46:48 · 614 阅读 · 0 评论 -
@Priority
介绍@Priority与@Order类似,@Order是Spring提供的注解,@Priority是JSR 250标准,都是值越小优先级越高;与@Order不同,@Priority可以控制组件的加载顺序,因此@Priority侧重于单个注入的优先级排序;@Priority优先级比@Order更高,两者共存时优先加载@Priority;@Primary是优先级最高的,如果同时有@Primary、@Order、Ordered的话,@Primary注解的Bean会优先加;。使用public int原创 2022-05-16 00:46:07 · 1365 阅读 · 0 评论 -
@Primary
介绍当有多个相同类型的bean时,使用@Primary来赋予bean更高的优先级。使用public class StockService {}不使用@Primary@Componentpublic class StockServiceImpl1 implements StockService{}@Componentpublic class StockServiceImpl2 implements StockService {}@Componentpublic class Or原创 2022-05-16 00:45:18 · 116 阅读 · 0 评论 -
@Order
介绍@Order或者Ordered接口的作用是定义Spring IOC容器中Bean的执行顺序的优先级,而不是定义Bean的加载顺序(区别于@Priority);默认是最低优先级,值越小优先级越高。package org.springframework.core.annotation;import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.原创 2022-05-16 00:44:47 · 179 阅读 · 0 评论 -
@Lookup
介绍@Lookup用于单例组件引用prototype组件。单例组件使用@Autowired方式注入prototype组件时,被引入prototype组件也会变成单例的;@Lookup可以保证被引入的组件保持prototype模式。(@Bean方式失效)使用使用方法注入的方法需要满足以下语法要求<public|protected> [abstract] <return-type> theMethodName(no-arguments);public|protected要求原创 2022-05-16 00:43:59 · 180 阅读 · 0 评论 -
@DependsOn
介绍该注解用于声明当前bean依赖于另外一个bean。所依赖的bean会被容器确保在当前bean实例化之前被实例化。使用标注在带有@Component注解的类上面;使用@DependsOn注解到类层面仅仅在使用@ComponentScan方式时才有效;如果带有@DependsOn注解的类通过XML方式使用,该注解会被忽略;只有通过这种方式会生效;标注在带有@Bean 注解的方法上面;。@Componentpublic class ProducerService {原创 2022-05-16 00:43:23 · 207 阅读 · 0 评论 -
@Conditional
介绍@Conditional注解是一个条件装配注解,主要用于限制@Bean注解在什么时候才生效;@Conditional可以自定义条件进行装配或者不装配;@Conditional本身还是一个父注解,派生出大量的子注解;可以按需加载;(Conditional注解是Spring4.0就有的,旗下的子注解是SpringBoot1.0有的)可以加载类或者方法上;加载类上的含义所有的方法都按照这个条件装配、加载方法上只有该方法进行条件装配;Conditional注解和所有子注解首先必须依托@Configu原创 2022-05-16 00:42:45 · 95 阅读 · 0 评论 -
@Autowired
介绍在服务启动的时候,实现bean的依赖注入。使用加在构造函数上当一个对象只有一个构造方法时,Spring在实例化对象时会默认选择该构造方法来进行实例化,无需添加@Autowired注解;只有存在多个构造方法时,才需要通过添加@Autowired注解的方式来告诉Spring应当选择哪个构造方法来进行实例化;如果构造方法上带有了@Autowired注解,那么即使该构造方法不是public修饰的,也可以被实例化;实例化带参数的构造方法时,Spring会先实例化构造方法中参数对象。情景一:原创 2022-05-16 00:42:17 · 200 阅读 · 0 评论