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

新网网站制作太原推广团队

新网网站制作,太原推广团队,青海网站建设推广,中国工商黄页Bean扫描 Spring中使用标签扫描或者注解 Springboot中没有使用标签或者注解它是怎么扫描的我的controlelr,service等等 核心在于springboot启动类中的SpringBootApplication注解 此注解其实是一个组合注解 它组合了一个ComponentScan注解,相当于在启…

Bean扫描

Spring中使用标签扫描或者注解

Springboot中没有使用标签或者注解它是怎么扫描的我的controlelr,service等等

核心在于springboot启动类中的@SpringBootApplication注解

此注解其实是一个组合注解

它组合了一个@ComponentScan注解,相当于在启动类也添加了这个注解,所以不需要我们手动添加也可以扫描

但是我们没有设置它的扫描范围它是怎么扫描的呢,那是因为,它的默认扫描范围是添加了该注解的类所在的包及其子包

如果想要扫描到启动类所在包之外的包,需要手动在启动类中配置@ComponentScan

Bean注册

如果要注册的bean对象来自第三方(不是自定义的),是无法用@Component及衍生注解声明bean的

使用Maven命名将第三方jar安装到本地仓库

然后win + R-->cmd输入脚本

在pom.xml中引入依赖

@Bean

  • 在启动类中创建一个方法,次方法只需要返回一个对象就行(不推荐使用)

测试

如果想要通过名字来获取直接写方法名

对象默认的的名字就是:方法名

自定义名字@Bean(“自己取名字”)

  • 创建一个配置类,在配置类里面集中注册

使用@ Configuration来标识当前类是一个配置类

配置类也需要放到启动类所在的包或子包下才会被扫描

在配置类中添加一模一样的方法

注入多个第三方对象,在配置中继续写方法

如果方法的内部需要使用到ioc容器中已经存在的bean对象,那么只需要在方式上声明,以参数的形式传入,spring会自动注入

@Import

在启动类上使用@Import(xxx.class),导入一个其他类,spring会自动把xxx类注入到ioc容器中,这里的xxx类可以是任意类(普通类,配置类)

常用的类

       导入配置类

       导入ImportSelector接口实现类

配置类

@Import(配置类.class)

一旦用了@Import相当于我在手动扫描这个类,没有用自动扫描,所以当配置类没有在启动类的包或子包下也能扫描到

注入多个配置类

不推荐,建议使用导入ImportSelector接口实现类

@Import({配置类.class ,配置类.class ,配置类.class ,配置类.class })

ImportSelector接口实现类

定义一个类去实现ImportSelector接口,重写selectImports()方法

Springboot会自动调用selectImports()方法,得到全限定名的数组,然后把这些类的bean对象自动注入到ioc容器中

为了防止硬编码,这些全限定名一般写入文件中,然后从文件中读取出来

文件中的一个全限定名写一行

优化@Import注解

在启动类上使用@Import(CommonImportSelector.class),感觉不好看,

能不能像@SpringBootApplication这样

自定义一个注解

需要复制

@Target({ElementType.TYPE}) //可以在类上使用@Retention(RetentionPolicy.RUNTIME) //可以保留在运行时阶段

在添加上一个ImportSelector接口实现类

@Import(CommonImportSelector.class)

优化后

Bean注册条件

给第三方bean对象注入值的方式

方式一

在方法中手动赋值(不推荐使用)

方法二

从文件中读取

使用@Value来获取值

当我们将配置文件中的数据注释了在使用@Value获取,在注入到对象时就会报错,有没有一种方法,当我们配置文件有数据时注入对象,没有数据时就不注入对象。

这时候就要用到bean的注册条件了

SpringBoot提供了设置注册生效条件的注解@Conditional,此数据使用很麻烦,所以它提供了很多的衍生注解。

三个常用注解

@ConditionalOnProperty(prefix = “前缀”,name = “指定键名(方法参数名)”)

@ConditionalOnMissingBean(xxx.class)

@ConditionalOnProperty(name = “指定类的全限定名”)

http://www.wooajung.com/news/23098.html

相关文章:

  • 做网站赚钱方法信息如何优化上百度首页公司
  • 秘密入口3秒自动进入青岛百度关键词优化
  • 360竞价推广客服电话seo搜索引擎优化公司
  • 单独做手机网站怎么做seo和sem是什么意思
  • 湖南网站建设熊掌号南昌网站seo
  • 招商信息发布网站大全域名停靠网页推广大全2023
  • 百度云网站建设教程视频教程短视频搜索优化
  • 三亚网友平台seo什么意思
  • 多语言商城网站开发seo教程 百度网盘
  • 小程序定制开发注意事项整站优化深圳
  • 元氏网站建设360搜索引擎
  • 手机网站淘宝客怎么做查域名的网址
  • java就是做网站的吗免费拓客软件哪个好用
  • wordpress仿站pdf中国网络优化公司排名
  • 怎么做视频在线播放网站百度快照有什么用
  • 公众号平台搭建seo是搜索引擎营销
  • 工程建设招标网都有哪些网站线下推广
  • 高端定制网站开发设计建站流程网络销售公司怎么运作
  • 外包做网站不付尾款什么样的人适合做策划
  • 如何配置web站点网站身份验证百度账号客服人工电话
  • 泰国购物网站大全优化网站推广网站
  • 狮山网站设计全网营销推广平台
  • 电子商务网站建设核心是公司网站设计与制作
  • 赣州企业网站在那做搜索引擎优化的七个步骤
  • 工业设计的网站企业建站平台
  • 室内设计效果图手绘线稿麒麟seo外推软件
  • 郑州哪里做网站最好电脑培训班零基础
  • wordpress问答中心沧州网站seo
  • 网站建设价格需要多少钱seo点击排名工具
  • 搭建网站的必须条件统计网站访问量