zoukankan      html  css  js  c++  java
  • spring新注解

    一、@configuration注解的配置类

    /*
    @Configuration:指定当前类是一个配置类
    @ComponentScan:用于通过注解指定spring在创建容器时要扫描的包
        属性:value、basePackages是一个数组
        作用:相当于在spring的xml配置文件中配置:
            <context:component-scan base-package="com.wuxi"></context:component-scan>
    @Bean:用于把当前方法的返回值作为bean对象存入spring的ioc容器中
        属性:name:用于指定bean的id,当不写时,默认值是当前方法的名称
        当前方法参数:参数注入的规则与@Autowired一致,先匹配参数类型(Student和class),再匹配参数名称(student和id)
        当前方法参数加@Qualifier注解:注入的bean的id与属性value值匹配
    指定配置类方式:
        1、AnnotationConfigApplicationContext(Class<?>... componentClasses)
            构造函数参数中指定的类都为配置类,类上可以不加@Configuration注解,且这些类作为配置文件,为兄弟关系
        2、@ComponentScan注解的类首先得是配置类,@ComponentScan扫描到的,具有@Configuration注解的类,为配置类
        3、@Import属性value中指定的类为配置类,类上可以不加@Configuration注解,且这些类作为配置文件,为父子关系
    @PropertySource:用于指定properties文件的位置
        classpath:关键字:表示类路径下
    */
    @Configuration
    @ComponentScan("com.wuxi")
    @PropertySource("classpath:value.properties")
    public class SpringConfig {
    
        @Value("${student.name}")
        private String name;
    
        @Bean(name = "gradeConfig")
        public Grade createGrade(@Qualifier("createStudent") Student student) {
            return new Grade(student);
        }
    
        @Bean
        @Scope("singleton")
        public Student createStudent() {
            System.out.println(name);
            return new Student();
        }
    }

    二、properties配置文件

    student.name=mengmeiqi

    三、测试

    public class MySpringTest {
        public static void main(String[] args) {
            ApplicationContext ac = new AnnotationConfigApplicationContext(SpringConfig.class);
            Grade grade = ac.getBean("gradeConfig", Grade.class);
            grade.studentMethod();
        }
    }
  • 相关阅读:
    基于visual Studio2013解决算法导论之018栈实现(基于链表)
    基于visual Studio2013解决算法导论之017查找第n小元素
    基于visual Studio2013解决算法导论之016查找最大值最小值
    基于visual Studio2013解决算法导论之015第二小元素
    基于visual Studio2013解决算法导论之013基数排序
    shell脚本执行的三种方式
    Linux rm删除大批量文件遇到 Argument list too long
    lsof 命令简介
    查看目录大小以及目录数量的命令
    python调用脚本或shell的方式
  • 原文地址:https://www.cnblogs.com/linding/p/13665300.html
Copyright © 2011-2022 走看看