资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

如何在springboot中注册bean

本篇文章给大家分享的是有关如何在springboot中注册bean,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、成都网站制作、电白网络推广、微信平台小程序开发、电白网络营销、电白企业策划、电白品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供电白建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com

@ComponentScan注册指定包里的bean

Spring容器会扫描@ComponentScan配置的包路径,找到标记@Component注解的类加入到Spring容器。

我们经常用到的类似的(注册到IOC容器)注解还有如下几个:

  • @Configuration:配置类

  • @Controller :web控制器

  • @Repository :数据仓库

  • @Service:业务逻辑

下面代码完成了EmailLogServiceImpl这个bean的注册,当然也可以放在@Bean里统一注册,需要看@Bean那一节里的介绍。

@Component
public class EmailLogServiceImpl implements EmailLogService {
 private static final Logger logger = LoggerFactory.getLogger(EmailLogServiceImpl.class);

 @Override
 public void send(String email, String message) {
  Assert.notNull(email, "email must not be null!");
  logger.info("send email:{},message:{}", email, message);
 }
}

@Bean注解直接注册

注解@Bean被声明在方法上,方法都需要有一个返回类型,而这个类型就是注册到IOC容器的类型,接口和类都是可以的,介于面向接口原则,提倡返回类型为接口。

下面代码在一个@Configuration注解的类中,同时注册了多个bean。

@Configuration
public class LogServiceConfig {

 /**
  * 扩展printLogService行为,直接影响到LogService对象,因为LogService依赖于PrintLogService.
  *
  * @return
  */
 @Bean
 public PrintLogService printLogService() {
  return new PrintLogServiceImpl();
 }

 @Bean
 public EmailLogService emailLogService() {
  return new EmailLogServiceImpl();
 }

 @Bean
 public PrintLogService consolePrintLogService() {
  return new ConsolePrintLogService();
 }
}

@Import注册Bean

这种方法最为直接,直接把指定的类型注册到IOC容器里,成为一个java bean,可以把@Import放在程序的八口,它在程序启动时自动完成注册bean的过程。

@Import({ LogService.class,PrintService.class })
public class RegistryBean {

}

springboot是什么

springboot一种全新的编程规范,其设计目的是用来简化新Spring应用的初始搭建以及开发过程,SpringBoot也是一个服务于框架的框架,服务范围是简化配置文件。

以上就是如何在springboot中注册bean,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。


标题名称:如何在springboot中注册bean
网站地址:http://cdkjz.cn/article/psiigd.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220