无论是基于xml文件的注入还是基于注解的注入,始终都要不过需要编写配置文件这一步;而基于java代码的注入,则是仅需要通过一些注解就可完成,而无需编写相应的配置文件,才可实现配置。
@Configuration
@Configuration相当于声明一个xml的配置文件那样,@Configuration注解主要是用在类上,将该类声明为一个配置类。
类中的@Bean注解,相当于在配置文件里面声明一个<bean>标签,并且若不给予相应的name属性时,则以方法名作为bean的名字。
对于配置文件,主要是通过ClassPathXmlApplicationContext类 、 FileSystemXmlApplicationContext类、XmlPortletApplicationContext类和XmlWebApplicationContext类来进行读取;而对于私用java代码进行注入的,则可以通过AnnotationConfigWebApplicationContext类和AnnotationConfigApplicationContext类来进行读取。并且还可以通过register方法来增添需要的类,上述代码中context.register(Student.class)并非是必需的语句。
其实@Bean注解还有不同的属性,这与在配置文件中的bean的属性是一致的,可以通过文档查阅获取。