1, @Controller
用来标记控制类
2, @RequestMapping()
用来标记在controller类上或者方法上,做地址映射
3, @Autowired
注释在成员变量上spring就会将其以Byname的形式自动化注入到spring容器中,因此便省去了get/set方法和spring配置文件的配置
4, @Service
标记业务逻辑层Bean
5, @Resource
这个注解不属于spring,是J2EE的注解;注解与@Autowried的使用方法一样,但是建议使用@Resource。
@Resource与@Autowried的不同就是@Autowried是是通过Bytype的方式注入spring的,而@Resource是通过Byname或Bytype方式注入spring的。@Resource有两个重要的属性分别是name和type,spring将属性name解析为bean的名字,而将type属性解析成bean的类型。如果使用name属性就是使用Byname自动注入策略,如果使用type属性就是使用Bytype自动修护乳策略,如果即不指定name也不指定type,那么spring就通过反射机制使用Byname自动注入策略。如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常 如果指定了name,则从上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常 如果指定了type,则从上下文中找到类型匹配的唯一bean进行装配,找不到或者找到多个,都会抛出异常 如果既没有指定name,又没有指定type,则自动按照byName方式进行装配(见2);如果没有匹配,则回退为一个原始类型(UserDao)进行匹配,如果匹配则自动装配;
6,@Transational
标记该方法是事务执行的;
7,@Repository
标记数据访问层Bean