Configuration 注解配置类的用法

配置类注解

作用和 applicationContext.xml 作用一样,可以替代 applicationContext.xml 配置文件。他在 main 函数中的调用,使用的是 AnnotationConfigApplicationContext(Class<?>... annotatedClasses) 子类实现 ApplicationContext 接口。其中参数是指的是配置类的 class 对象,可以有多个。

        ApplicationContext ac1 = new 					AnnotationConfigApplicationContext(Config.class);
        Admin admin1 = (Admin) ac1.getBean("admincon");

        System.out.println(admin1);

其次在配置类中,可以使用一下几个注解。

  • @Configuration

    • 作用:指定当前类为配置类

    • 注意

      • 当使用 @Configuration 注解类的时候,被注解类作为 AnnotationConfigApplicationContext 对象创建的参数时候,该注解可以不写。如下:

         ApplicationContext ac1 = new AnnotationConfigApplicationContext(Config.class);
        
  • @ComponentScan

    • 作用:用于通过注解指定 spring 创建容器时候要扫描的包

    • 属性

      • value 属性和 basepackages 属性两个作用是一样的,用于指定创建容器时候要扫描的包,使用此注解等同于在 xml 配置了。
       <context:component-scan base-package="com.test.entitys" ></context:component-scan>
      
  • @Bean

    • 作用:把当前方法的返回值当成 bean 对象,存入 spring 的容器中

    • 属性

      • name:用于指定 bean 的 id。当不写的时候,默认值是当前方法的名称。
    • 注意

      • 当使用该注解配置方法,如果方法有参数,spring 会去容器中查找有没有 bean 对象。和 @Autowired 的寻找方式是一样的
      • 这里的 bean 对象生成的将会是单例,对于数据库的一些操作要多例的,可以使用 @Scpoe 注解。
  • @Import

    • 作用:用于导入其他的配置类,使用该注解的类就是父配置类,而导入的都是子配置类,在子配置类可以不写 @Configuration 注解。
    • 属性
      • value:用于指定其他配置类的字节码文件。
  • @PropertySource

    • 作用:用于指定 properties 文件的位置
    • 属性:
      • value:指定文件的名称和路径
        • 关键字 classpath 指定类路径

    例如:我这里有个 properties 文件,需要在配置类 Config 中读取到连接数据库信息,可以这样。

    Jdbc.properties 文件

    jdbc.driver=com.mysql.cj.jdbc.Driver
    jdbc.url=jdbc:mysql://localhost:3230/test?serverTimezone=UTC
    jdbc.user=root
    jdbc.password=12345678
    

    Config.java

    @Configuration
    @ComponentScan(basePackages = "com.test")
    @PropertySource("classpath:Jdbc.properties")
    public class Config {
        @Value("${jdbc.driver}")
        private String driver;
        @Value("${jdbc.url}")
        private String url;
        @Value("${jdbc.user}")
        private String user;
        @Value("${jdbc.password}")
        private String password;
        
    }
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值