首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

spring框架:ioc注解整理

@Component用于修饰SpringBoot中的组件,会被组件扫描并生成实例化对象。@Controller、@Service、@Repository都是特殊的组件注解。

@Repository用于修饰dao层的组件,dao层组件专注于系统数据的处理,例如数据库中的数据,同样会被组件扫描并生成实例化对象。

@Service用于修饰service层的组件,service层组件专注于系统业务逻辑的处理,同样会被组件扫描并生成实例化对象。

@Controller用于修饰MVC中controller层的组件,SpringBoot中的组件扫描功能会识别到该注解,并为修饰的类实例化对象,通常与@RequestMapping联用,当SpringMVC获取到请求时会转发到指定路径的方法进行处理。

@PostConstruct用于修饰方法,当对象实例被创建并且依赖注入完成后执行,可用于对象实例的初始化操作。

@PreDestroy用于修饰方法,当对象实例将被Spring容器移除时执行,可用于对象实例持有资源的释放。

@Scope用于声明一个SpringBean实例的作用域,作用域的范围有以下几种:

singleton:单例模式,在Spring容器中该实例唯一,Spring默认的实例模式。

prototype:原型模式,每次使用实例都将重新创建。

request:在同一请求中使用相同的实例,不同请求重新创建。

session:在同一会话中使用相同的实例,不同会话重新创建。

@Scope("singleton")/@Scope(value= ConfigurableBeanFactory.SCOPE_SINGLETON)

@Scope("prototype")/@Scope(value= ConfigurableBeanFactory.SCOPE_PROTOTYPE)

@Autowired会根据对象的类型自动注入依赖对象,默认要求注入对象实例必须存在,可以配置required=false来注入不一定存在的对象。

@Qualifier当同一个对象有多个实例可以注入时,使用@Autowired注解无法进行注入,这时可以使用@Qualifier注解指定实例的名称进行精确注入。

@Resource默认会根据对象的名称自动注入依赖对象,如果想要根据类型进行注入,可以设置属性为type = AdminService.class

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OYyRnt1ujqBmJoJk6T1VV8NA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券