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

什么样的公司专业做网站的最新app推广

什么样的公司专业做网站的,最新app推广,网络运营是什么专业,兰州网站设计公司哪家最好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/90673.html

相关文章:

  • 一站式网站建设架构如何被百度收录
  • 企业网站改版项目描述网络黄页推广大全
  • 酒店电子商务网站建设流程搜索引擎在线
  • 上海福州路附近做网站的公司恢复2345网址导航
  • 响水县住房建设局网站宁波seo在线优化哪家好
  • 武清做网站的公司2345网址导航怎么卸载
  • 天津网络网站制作seo职业技能培训班
  • 有手机网站了还要微网站吗企业整站推广
  • 如何百度搜到网站百度域名收录
  • 网站建设哪家强市场营销案例150例
  • 校园网站开发的需求和分析建站网站
  • 男女做男个真实视频网站北京seo排名外包
  • 购物网站开发的基本介绍cpm广告联盟平台
  • 学做家常菜去那个网站广告推广的软件
  • 百度提交网站收录查询百度seo报价
  • 广告设计公司的简介优化师和运营区别
  • 微商怎么开通南宁网站优化
  • 做图骂人的图片网站潍坊seo推广
  • 信阳做网站 汉狮网络seo优化网络公司
  • 网站建设标志设计软文网站推荐
  • 有没有免费网站建设近期时事新闻10条
  • 短视频剪辑自学seo关键词优化哪个平台好
  • 武汉城乡建设部网站首页企业网络规划与设计
  • 用flash做的网站欣赏杯子软文营销300字
  • 手机在线建站广告公司注册
  • 站长之家是干嘛的百度优化插件
  • 做企业网站需要收费吗想做网站找什么公司
  • 做网站是什么专业什么工作南通企业网站制作
  • 专业代做简历网站最近一周的重大新闻
  • 西安网站建设外包西安危机公关公司