当前位置: 首页 > wzjs >正文

新蔡县做网站收多少钱网站建设基本流程包括哪几个

新蔡县做网站收多少钱,网站建设基本流程包括哪几个,福建省头条新闻,多地进一步优化防控措施Spring IoC中除了基础的Bean,Compoent,RestController还有一些其他的注解可以用来控制Bean注入的时机一起来了解一下吧。 目录 Lazy 懒加载注解Conditional 条件注解DependsOn 依赖注解Order 注入顺序注解 Lazy 懒加载注解 Lazy注解会延迟初始化这个Bean 当类上没有加Lazy注解…

Spring IoC中除了基础的@Bean,@Compoent,@RestController还有一些其他的注解可以用来控制Bean注入的时机一起来了解一下吧。

目录

  • @Lazy 懒加载注解
  • @Conditional 条件注解
  • @DependsOn 依赖注解
  • @Order 注入顺序注解

@Lazy 懒加载注解

@Lazy注解会延迟初始化这个Bean
当类上没有加@Lazy注解时,项目启动就会初始化这个Bean
当类上加上@Lazy注解时,只有真正使用到这个Bean,才会被初始化并注入的IoC容器中。

@Lazy
@Component
public class UserServiceImpl{public UserServiceImpl(){System.out.println("UserServiceImpl");}
}

@Lazy也可以写在属性上用来避免循环依赖。如下代码,如果没有使用@Lazy则会出现循环依赖导致启动失败。

@Component
public class UserServiceImpl{@Lazy@Autowiredprivate UserServiceImpl userService;public UserServiceImpl(){System.out.println("UserServiceImpl");}
}

@Conditional 条件注解

在类上加上@Conditional注解,然后自定一个实现类实现Condition接口,并且@Conditional关联到这个接口即可。
该接口只有一个实现方法,返回boolean类型,返回true则表示要注入到Ioc容器中,返回false则相反。

@Conditional(MyConditional.class)
@Component
public class UserServiceImpl{public UserServiceImpl(){System.out.println("UserServiceImpl");}
}
public class MyConditional implements Condition{@Overridepublic boolean matches(ConditionContext context,AnnotatedTypeMatadata metadata){return false;}
}

@DependsOn 依赖注解

表示该Bean初始化是依赖某个Bean,需要等依赖的Bean初始化完成后再注入到IoC容器中。
这个可以用来控制Bean的初始化顺序。

@DependsOn("userServiceImpl2")
@Component
public class UserServiceImpl{@Autowiredprivate UserServiceImpl userService;public UserServiceImpl(){System.out.println("UserServiceImpl");}
}
@Component
public class UserServiceImpl2{@Autowiredprivate UserServiceImpl userService;public UserServiceImpl(){System.out.println("UserServiceImpl2");}
}

@Order 注入顺序注解

Person接口有两个实现类,
UserController 使用List 将两个实现类都注入进来,那么List中的顺序是如何的呢?
如果没有使用@Order注解默认情况下是要做编码顺序来的也就是[PersonServiceImpl1,PersonServiceImpl2]
如果按照如下使用@Order注解则顺序是[PersonServiceImpl2,PersonServiceImpl1]
@Order注解中的值越小优先级越高
注意:@Order只影响依赖注入的顺序,不会影响Bean初始化的顺序。
Bean初始化的顺序依然是采用@DependsOn 注解来控制的。因此按照如下代码初始化顺序依然是默认的源码顺序也就是
[PersonServiceImpl1,PersonServiceImpl2]

public interface Person{
}
@Order(2)
@Component
public class PersonServiceImpl1 implements Person{public PersonServiceImpl1(){System.out.println("PersonServiceImpl1");}
}
@Order(1)
@Component
public class PersonServiceImpl2 implements Person{public PersonServiceImpl2(){System.out.println("PersonServiceImpl2");}
}
@RestController
public class UserController{public UserController(List<Person> personList){System.out.println(personList.size());System.out.println("UserController");}
}
http://www.dtcms.com/wzjs/580954.html

相关文章:

  • 深圳做网站得外包公司网站快速搜索
  • 江西网站优化现在的网站建设用什么语言
  • 电子商务网站的建设与维护企业网站建设情况
  • 网站租用服务器费用中咨工程建设监理公司网站
  • 建网站开发语言对比网站设计建设流程图
  • 做红酒闪购的网站有哪些wordpress 去广告
  • 浦东新区网站优化公司品牌建设是指什么
  • 广西城乡住房建设厅网站首页wordpress sensei
  • 国外很炫酷的网站名表网站
  • 找素材的网站网站建设+用ftp上传文件
  • 家用电脑如何做网站服务器东莞公司注册登记
  • 建筑网站视频大全cento安装wordpress
  • 织梦网站开发视频广州网络营销品牌
  • 新手如何学做网站张掖网站建设推广
  • 风铃网站代做国内最大网站制作公司
  • 监控网站模版微信如何建公众号怎么创建
  • 大连做网站优化价格公司网站制作要
  • 网站设计 字体石家庄做网站时光
  • 做通风工程上哪个网站发布网站开发建设收费标准
  • 企业的网站推广意义网站制作前期
  • 网站空间租赁合同google网站增加关键词
  • 创一东莞网站建设cms文章管理系统
  • 网站打开的速度特别慢的原因网站不用工具开发建设
  • 网站建设宣传ppt模板下载flash个人网站动画
  • 农业网站开发南宁led大屏投放
  • 青岛工程建设监理公司网站阳江网胜
  • 网站托管要求国产软件开发工具
  • 贵阳软件制作做搜狗网站优化
  • 开网站赚50万做邯郸信息港人才招聘
  • 如何不用百度推广做网站北京设计制作公司