@Component 可以使用此注解描述 Spring 中的 Bean,但它是一个泛化的概念,仅仅表示一个组件(Bean),并且可以作用在任何层次。使用时只需将该注解标注在相应类上即可。 属性:value:指定 bean 的 id。如果不指定 value 属性,默认 bean 的 id 是当前类的类名。首字母小写
@Repository 用于将数据访问层(DAO层)的类标识为 Spring 中的 Bean,其功能与@Component 相同。
@Service 通常作用在业务层(Service 层),用于将业务层的类标识为 Spring 中的 Bean,其功能与 @Component 相同。
@Controller 通常作用在控制层(如 Struts2 的 Action),用于将控制层的类标识为 Spring 中的 Bean,其功能与 @Component 相同。
@Autowired 用于对 Bean 的属性变量、属性的 Set 方法及构造函数进行标注,配合对应的注解处理器完成 Bean 的自动配置工作。默认按照 Bean 的类型进行装配。
@Resource 其作用与 Autowired 一样。其区别在于 @Autowired 默认按照 Bean 类型装配,而 @Resource 默认按照 Bean 实例名称进行装配。
@Qualifier 与 @Autowired 注解配合使用,会将默认的按 Bean 类型装配修改为按 Bean 的实例名称装配,Bean 的实例名称由 @Qualifier 注解的参数指定。
@Value 注入基本数据类型和 String 类型数据的
@Scope 指定 bean 的作用范围。一般不配置,采用默认的单例。
@Configuration 用于指定当前类是一个 spring 配置类,等价于bean.xml
@ComponentScan 用于指定 spring 在初始化容器时要扫描的包。 作用和在 spring 的 xml 配置文件中的:<context:component-scan base-package=“com.itheima”/>是一样的。 属性:basePackages:用于指定要扫描的包。
@Bean 该注解只能写在方法上,表明使用此方法创建一个对象,并且放入 spring 容器。
@PropertySource 用于加载.properties 文件中的配置。 属性:value[]:用于指定 properties 文件位置。如果是在类路径下,需要写上 classpath:
@Import 用于导入其他配置类
@Aspect 用于定义一个切面。
@Pointcut 用于定义切入点
@Before 用于定义前置通知,相当于 BeforeAdvice。
@AfterReturning 用于定义后置通知,相当于 AfterReturningAdvice。
@Around 用于定义环绕通知,相当于MethodInterceptor。
@AfterThrowing 用于定义抛出通知,相当于ThrowAdvice。
@After 用于定义最终final通知,不管是否异常,该通知都会执行。
@DeclareParents 用于定义引介通知,相当于IntroductionInterceptor。
@EnableTransactionManagement 纯注解开启事务的支持 ,等价于<tx:annotation-driven … />
@Transactional 在service层使用此注解相当于配置了事务支持
@EnableTransactionManagement 纯注解使用 代表开启对注解事务的支持,等价于<tx:annotation-driven … />
@RequestMapping 用于建立请求 URL 和处理请求方法之间的对应关系。
GetMapping,PostMapping,DeleteMapping,PutMapping 分别对应get/post/delete/put 等http请求方式 ,如果请求方式不对,返回405状态码
@RequestParam 把请求中指定名称的参数给控制器中的形参赋值。 属性: value: 请求参数中的名称。 required:请求参数中是否必须提供此参数。 默认值: true。表示必须提供,如果不提供将报错。
@RequestBody 用于获取请求体内容。直接使用得到是 key=value&key=value…结构的数据。 实现将 controller 方法返回对象转换为 json 响应给客户端。 get 请求方式不适用。 属性:required:是否必须有请求体。默认值是:true。当取值为 true 时,get 请求方式会报错。如果取值为 false, get 请求得到是 null。
@RestController 标识该类中的所有方法都返回json数据,方法上不需要再加ResponseBody;
@PathVaribale 用于绑定 url 中的占位符。 例如:请求 url 中 /delete/{id}, 这个{id}就是 url 占位符。 url 支持占位符是 spring3.0 之后加入的。是 springmvc 支持 rest 风格 URL 的一个重要标志。 属性: value: 用于指定 url 中占位符名称。 required:是否必须提供占位符。
@Insert:实现新增 @Update:实现更新 @Delete:实现删除 @Select:实现查询 @Result:实现结果集封装 @Results:可以与@Result 一起使用,封装多个结果集 @ResultMap:实现引用@Results 定义的封装 @One:实现一对一结果集封装 @Many:实现一对多结果集封装 @CacheNamespace:实现注解二级缓存的使用
@RunWith(SpringJUnit4ClassRunner.class) 替换junit里面的main方法(运行器)
@ContextConfiguration(classes= SpringConfiguration.class) 指定配置类
@ContextConfiguration(locations = “classpath:bean.xml”) 指定配置文件的路径