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

3.springboot-容器功能-@注解

Spring传统注解

说明:这些在Spring中的传统注解仍然有效,通过这些注解可以给容器注入组件

@Component

@Controller

@Service

@Repository

SpringBoot自己的注解


@Configuration

通过@Configuration创建配置类来注入组件

1.Spring的传统方式

输出

2.SpringBoot的@Configuration方式

解读
1.@Configuration标识这是一个配置类,等价于配置文件
2.程序员可以通过@Bean注解注入bean对象到容器

3.当一个类被@Configuration标识,该类-BeanConfig也被作为一个Bean会注入容器

1) 默认单例,可以用@Scope("prototype")设置成多例

2)注意事项和细节

1.SpringBoot2新增特性:proxyBeanMethods指定Full模式和Lite模式

2.配置类可以有多个,就和Spring可以有多个ioc配置文件是一个道理

@Import

通过@Import来注入组件,给容器中自动创建出这两个类型的组件、默认组件的名字就是全类名

@Import({Dog.class,Cat.class})

@Conditional

条件注解说明

1.条件装配:满足Conditional指定的件,则进行组件注入
2.@Conditional是一个根注解,下面有很多扩展注解

扩展注解的作用:

应用实例

1.要求:演示在SpringBoot,如何通过@ConditionalOnBean来注入组件
2.只有在容器中有name=monster_nmw组件时,才注入dog01,代码如图

添加条件注解。name,只检查名字,对类型不做要求。

修改Bean的参数,使其满足条件name=monster_nmw。

这样就可以在容器中获取了

实例2

如果容器中没有name=monster_nmw的Bean,则注入下面的实例。常用于解决循环依赖问题。

@ImportResource

        作用:原生配置文件引入,也就是可以直接导入Spring传统的beans.xml,可以认为是SpringBoot对Spring容器文件的兼容

        参数:locations,别名value,而value可以省略。

配置多个

配置绑定

@ConfigurationProperties

一句话:使用Java读取到SpringBoot核心配置文件application.properties的内容,并且把它封装到JavaBean中

应用实例

1.需求:将application.properties指定的属性值k-v和JavaBean绑定

2.配置
@Component 把Furn注入容器中
@ConfigurationProperties,prefix说明前缀prefix是furn01。使用配置文件的属性值赋值

配置绑定还有第2种方式(了解即可):

1)之前是通过@Component注入Furn的Bean,然后再使用的@ConfigurationProperties。如果把@Component注释掉了,@ConfigurationProperties会检查Furn没有注入,导致报红

2)在配置类使用注解,启用配置属性@EnableConfigurationProperties,参数是Furn.class类型

使得上面的@ConfigurationProperties能够生效,同时注入Furn。感觉不如和@Component的组合好用。

注意事项和细节

1.中文乱码

如果application.properties有中文,需要转成unicode编码写入,否则出现乱码

配置含中文

页面显示乱码

使用工具转码

修改配置即可

2.配置文件错误提示

使用@ConfigurationProperties(prefix="furn01")会提示如下信息,但是不会影响使用

在pom.xml中添加依赖,即可

http://www.dtcms.com/a/430542.html

相关文章:

  • python开发手机网站开发今天时政新闻热点是什么
  • 【网络编程】深入 HTTP:从报文交互到服务构建,洞悉核心机制
  • java面试0119-java中创建对象的方式?
  • 线程中互斥锁和读写锁相关区别应用示例
  • 网站开发logo绍兴网页设计
  • 2017主流网站风格win7 iis配置网站 视频教程
  • wordpress同步微信公众号seo外包是什么
  • 如何评价一个网站做的好不好展厅网站
  • wordpress站点克隆vip影视建设网站官网
  • 网站免费申请注册软件开发人员犯罪
  • 优秀个人网站设计模板互联网技术发展现状
  • 云南做网站价格网站的策划书
  • 做本地网站要服务器吗自动化毕设题目网站开发
  • 网站后端技术有哪些文学网站做编辑
  • 做淘客应该知道的网站咸阳学校网站建设费用
  • 适合女生做的网站投资公司网站设计
  • 专业网站维护如何免费建立自己的网页
  • 做社交网站的预算怎样查询网站空间
  • 网站重购出行南宁app软件下载
  • html怎么做成网站打开免费百度啊
  • 网站建设的时候如何上传图片如何建设一个个人网站
  • wordpress建设网站的方法怎么查寻一个网站做的竞价
  • 三亚网站制作上海做哪些行业赚钱
  • 静态网站站内搜索网站建设原则应考虑哪些
  • 1688拿货网义乌seo推广
  • 中国十大购物网站排行榜我做网站编辑写文章很慢怎么办
  • 邢台中北世纪城网站兼职贸易公司怎么做网站比较好
  • 企业网站建设杭州在家做兼职哪个网站
  • 青岛做网站优化哪家好园林公司网站建设费用
  • 临沂做网站建设的公司哪家好做旅游网站的意义