SpringBoot常用标签的理解

SpringBoot常用标签说明

一、@PropertySource

@PropertySource(value={String数组},encoding = “UTF-8”)

注意事项:

1、相当于Spring配置文件的引入标签<importresource=“classpath:kk.properties” />,将数据引入至主配置文件中,即虽然@PropertySource引入的配置文件物理上不属于主配置文件,但逻辑上是相当于写入了主配置文件中

故需要使用@configurationproperties(prefix="") 标签来读取想要读取的值

2、@PropertySource只能读取properties文件

二、@ImportResource(locations={})

导入其他Spring配置文件,不推荐使用, 用法与@PropertySource类似,但要标注在主配置类上

三、SpringBoot推荐的给容器添加组件的方法

组合使用@configuration 和Bean标签

@configuration声明此类是一个配置类

@Bean注解在配置类方法上,将此方法的返回值作为组件添加到配置文件中,同时默认id即该组件名就是@Bean注释的方法名

@org.springframework.context.ApplicationContext 来获取配置类生成的对象,具体原因不明

@Configuration
public class MyConfiguration {

    @Bean
    public Cat myCat(){

        System.out.println("配置类运行了...............");
        Cat cat = new Cat();
        cat.setName("小白");
        cat.setAge(100);
        return cat;
    }
}

四、@ConfigurationProperties

(prefix = “cat”)和@Validated标签以及判断如@notnul标签等不再赘述

@ConfigurationProperties标签详解

@Configuration
public class DruidConfig {

    //@ConfigurationProperties(prefix = "spring.datasource")
    //在new返回的数据源时,添加从主配置文件中取出以spring.datasource开头的数据,
    //比如主配置文件中有数据 spring.datasource.url=2,则会寻找DruidDataSource
    //类里的url属性,并注入值2 ,也就是说,如果配置文件中写的是
    // luanqibazao.ceshi.url=2,标签应写为
    // @ConfigurationProperties(prefix = "luanqibazao.ceshi")
    //此时,也可正常向需要赋值的类中的url属性注入值2

    //也就是说,prefix相当于其后所跟值的key  其后所跟值为value,并将此值注入指定的对象中
    //同时也应该意识到,@ConfigurationProperties有两种用法,
    //一、标注在类上,则在新生成该类对象时,都会向该新生对象的属性中注入指定的值
    //二、标注在方法上,则在该方法返回对象时,也都会向该新生对象的属性中注入指定的值
    @ConfigurationProperties(prefix = "spring.datasource")
    @Bean
    public String druid(){
        //return new DruidDataSource();
        return "";
    }

}

五、@Configuration 标签和@Bean标签

**@Configuration ** 指明当前类是一个配置类,有了@Configuration标签,其类方法中的@Bean标签即可生效

类上没有打此标签@Bean标签便无效 相当于,MVC里的,类上没有@Controller 标签,就不会扫描其中的@RequestMapping 标签就不会生效,之所以这么要求可能是为了提高扫描效率

**@Bean **指明所标注的方法的返回值做为组件添加到容器中,添加到容器中后其属性名为其 标注的方法名

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值