本文共 2008 字,大约阅读时间需要 6 分钟。
注解解释: @Configuration:这个注解是告诉spring这是一个配置类,相当于xml文件 @Bean:给容器注册一个Bean,类型为返回值的类型,bean对象的id名称默认为方法名, 也可以自定义bean的id名称,例如:@Bean("person02"),那么这个Person对象 的id名称就是person02
注意:AnnotationConfigApplicationContext:可以实现基于Java的配置类加载Spring的应用上下文 效果:
⑵ 通过id名称获取bean对象
效果:
⑶通过类型获取bean的id名称,然后通过id名称获取bean对象
效果: 
注意: @ComponentScan:扫描com.test路径下所有包的类
注意:如上图,首先使用AnnotationConfigApplicationContext加载配置类MainConfig,获取到 ApplicationContext上下文对象,然后通过这个上下文对象去获取通过配置类扫描加载 那些使用注解创建的bean对像,例如通过@Controller,@Service,@Repository等注 解创建的bean对象。ApplicationContext上下文获取到容器中的这些对象后打印出来。 效果: 
注意: excludeFilters:表示在扫描加载的路径下排除一些不需要加载到容器中的bean对象, 使用@Filter进行过滤,在@Filter中使用注解类型过滤, 这里我们不 需要加载 Controller和Service类型的bean对象到容器中去。 运行测试类后的效果: 
效果: 
效果:
⑶FilterType.ASPECTJ:使用ASPECTJ表达式方式(这个基本不会使用) ⑷FilterType.REGEX:使用正则表达式方式(这个不常使用) ⑸FilterType.CUSTOM:使用自定义规则方式,如下: a:创建实现了TypeFilter的类
注意: MetadataReader:表示的是读取到的当前正在扫描的类的信息 MetadataReaderFactory:表示可以获取到其他任何类信息 b:在配置类中使用我们自定义的过滤类
c:运行测试类的效果:

b:测试类
c:效果: 
测试类:
效果: 
b:测试类
c:效果 
b:测试类
c:效果
转载地址:http://juql.baihongyu.com/