IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Spring Boot 注解说明 -> 正文阅读

[Java知识库]Spring Boot 注解说明

@Configuration

注解在类上,将该类设置为springboot的配置类,相当于springmvc中的xml文件。配置类本身也是一个组件和容器。

注意:proxyBeanMethods? 属性,存在组件依赖时,属性值应该为true,不存在组件依赖时,可以用false。

  属性值为true(Full模式,程序运行慢,但占用内存小【因为需要检查容器中是否存在组件,但不需要新建对象占用内存】):代理对象调用组件,spring boot会检查这个组件是否在容器中,保持组件的单实例(每次调用这个组件的对象都是一样的)。

 ????属性值为false(Lite模式,程序运行快,但占用内存大【因为需要新建对象,但是不需要检查容器中是否存在组件】):每一次调用组件里的方法,都会产生一个新的对象。

@Bean、@Controller、@Service、@Repository 同Spring core 功能一样。

@Import?

导入其他组件,给容器中自动创建出对应类型组件,默认组件名称为 全类名。

比如: @Import({xxx.class, 第三方类.class})

@Conditional

条件装配:满足Conditional指定的条件,则进行组件注入。spirng boot提供了如下的Conditional相关注解。

例如: @ConditionalOnBean 表示某个Bean存在,才执行某些动作。

@ConditionalOnBean(name="user01")
public class MyConfig() {
    
    @Bean
    public Teacher teacher() {
        return new Teacher();
    }
}

上述表示,只有 user01这个Bean存在, 类中的Bean才会生效。 ?@ConditionalOnBean 也可以加在方法上,表示该方法对应的Bean必须在user01存在才会创建。 加在类上,表示类中所有Bean必须在user01存在才会创建。

@ImportResource

导入Bean的xml配置文件。

配置绑定

@ConfigurationProperties + @Component

application.properties文件

mycar.brand=BMW
mycar.price=200000
@Component
@ConfigurationProperties(prefix = "mycar")
public class Car {

    private String brand;
    private Integer price;

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public Integer getPrice() {
        return price;
    }

    public void setPrice(Integer price) {
        this.price = price;
    }
}

必须加@Component,只有在容器中的Bean,才可以注入属性。

以上运行的时候,会把配置文件的属性赋值给Car对象。

@ConfigurationProperties +??@EnableConfigurationProperties

这种写法,在Car上面就不需要加@Component了,只需在@EnableConfigurationProperties(Car.class) 就可以。用于加载第三方的配置类。

@EnableConfigurationProperties注解本身需要放在项目的配置类上。

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-07-20 18:38:23  更:2022-07-20 18:40:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/31 7:14:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码