一、spring家族
<context:component-scan/> 扫描指定的包中的类上的注解,常用的注解有:
@Controller 声明Action组件
@Service 声明Service组件 @Service("myMovieLister")
@Repository 声明Dao组件
@Component 泛指组件, 当不好归类时.
@RequestMapping("/menu") 请求映射
@Resource 用于注入,( j2ee提供的 ) 默认按名称装配,@Resource(name="beanName")
@Resource, @Resource有两个中重要的属性:name和type ,而Spring将@Resource注解的name属性解析为bean的
名字.(即bean的id名),而type属性则解析为bean的类型。所以如果使用name属性,则使用byName的自动注入策略,而使用
type属性时则使用 byType自动注入策略。如果既不指定name也不指定type属性,这时将通过反射机制使用by
Name自动注入策略。
例如:
@Resource(name="baseDao") private BaseDao baseDao;
@Autowired 用于注入,(srping提供的) 默认按类型装配 ,可以不用使用set,get方法
@Autowired默认按类型装配,默认情况下必须要求依赖对象必须存在,如果要允许null值,可以设置它的required属性为false,例如:@Autowired(required=false) ,如果我们想使用名称装配可以结合@Qualifier注解进行使用,如下:
@Autowired() @Qualifier("baseDao") private BaseDao baseDao;
@Transactional( rollbackFor={Exception.class}) 事务管理
@ResponseBody
@Scope("prototype") 设定bean的作用域
2.当接口中有多个实现类时,实例绑定办法
绑定办法有两种
1)@Qualifier注解
通过这个标示,表明了哪个实现类才是我们所需要的
@see http://www.cnblogs.com/smileLuckBoy/p/5801678.html
2)@Primary
用@Primary 告诉spring 在犹豫的时候优先选择哪一个具体的实现。
@see http://www.cnblogs.com/myhappylife/p/5647098.html
3.引入配置文件
1)@PropertySource
引入 .properties配置文件
如@PropertySource(value="rop.appSecret.properties")
2)@ImportResource
引入xml等配置文件
如@ImportResource(locations={"spring-rop-conf.xml","dubbo-consumer.xml","dubbo-provider.xml"})