《Spring实战》摘录 - 8
71
Q: Spring中的根配置技术是什么
A: 不管使用JavaConfig还是使用XML进行装配,我通常都会创建一个根配置(root configuration),也就是这里展现的这样,这个配置会将两个或更多的装配类和/或XML文件组合起来。我也会在根配置中启用组件扫描(通过或@ComponentScan)
72
Q: 带有@Bean注解的方法可以采用任何必要的Java功能来产生bean实例。
A: 构造器和Setter方法只是@Bean方法的两个简单样例。这里所存在的可能性仅仅受到Java语言的限制。
73
Q: @Autowired注解的作用
A: 实现自动装配
74
Q: Spring的SpringJUnit4ClassRunner作用
A: 在测试开始的时候自动创建Spring的应用上下文
75
Q: @Component注解的作用
A: 这个简单的注解表明该类会作为组件类,并告知Spring要为这个类创建bean。没有必要显式配置SgtPeppersbean,因为这个类使用了@Component注解,所以Spring会为你把事情处理妥当。
76
Q: Spring从两个角度来实现自动化装配:
A:
- 组件扫描(component scanning):Spring会自动发现应用上下文中所创建的bean。
- 自动装配(autowiring):Spring自动满足bean之间的依赖。
77
Q: #4.2-1 | 如果想进一步了解AspectJ相关的知识
A: 强烈推荐Ramniva Laddad编写的《AspectJ in Action》第二版(Manning,2009,www.manning.com/laddad2/)
78
Q: #4.2-2 | Spring借助AspectJ的切点表达式语言来定义Spring切面
A:
arg() --- 限制连接点匹配参数为指定类型的执行方法
@args() --- 限制连接点匹配参数由指定注解标注的执行方法
execution() --- 用于匹配是连接点的执行方法
this() --- 限制连接点匹配AOP代理的bean引用为指定类型的类
target --- 限制连接点匹配目标对象为指定类型的类
@target() --- 限制连接点匹配特定的执行对象,这些对象对应的类要具有指定类型的注解
within() --- 限制连接点匹配指定的类型
@within() --- 限制连接点匹配指定注解所标注的类型(当使用Spring AOP时,方法定义在由指定的注解所标注的类里)
@annotation --- 限定匹配带有指定注解的连接点
79
Q: #4.2-3 | 注意只有execution指示器是实际执行匹配的,而其他的指示器都是用来限制匹配的。这说明什么?
A: 这说明execution指示器是我们在编写切点定义时最主要使用的指示器。在此基础上,我们使用其他指示器来限制所匹配的切点。
80
Q:#4.2.1-1 | 使用AspectJ切点表达式来选择Performance的perform()方法
A: