Spring开发注解(总结)

@Component定义bean
@Controller:用于表现层bean定义
@Service:用于业务层bean定义
@Repository:用于数据层bean定义
@Configuration注解用于设定当前类为配置类
@ComponentScan注解用于设定扫描路径,此注解只能添加一次,多个数据请用数组格式
@Scope定义bean作用范围
@PostConstruct、@PreDestroy定义bean生命周期
**注意:@PostConstruct和@PreDestroy注解是jdk中提供的注解,从jdk9开始,jdk中的javax.annotation包被移除了,也就是说这两个注解就用不了了,可以额外导入一下依赖解决这个问题。**
<dependency>
  <groupId>javax.annotation</groupId>
  <artifactId>javax.annotation-api</artifactId>
  <version>1.3.2</version>
</dependency>
@Autowired:注入引用类型,自动装配模式,默认按类型装配
@Qualifier:自动装配bean时按bean名称装配(@Qualifier注解无法单独使用,必须配合@Autowired注解使用)
@PropertySource加载properties配置文件
@Bean:表示当前方法的返回值是一个bean对象,添加到IOC容器中
@Import:导入配置信息
@RunWith(SpringJUnit4ClassRunner.class)   Spring整合Junit专用的类加载器
@ContextConfiguration  junit加载配置文件
@Aspect  设置当前类为切面类
//设置切入点,@Pointcut注解要求配置在方法上方
@Pointcut("execution(void com.itheima.dao.BookDao.update())")
@EnableAspectJAutoProxy   开启注解开发AOP功能
@Transactional  配置当前接口方法具有事务
@EnableTransactionManagement   开启注解式事务驱动
处理乱码问题:
get:
<build>
    <plugins>
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.1</version>
        <configuration>
          <port>80</port><!--tomcat端口号-->
          <path>/</path> <!--虚拟目录-->
          <uriEncoding>UTF-8</uriEncoding><!--访问路径编解码字符集-->
        </configuration>
      </plugin>
    </plugins>
  </build>
post:
protected Filter[] getServletFilters() {
        CharacterEncodingFilter filter = new CharacterEncodingFilter();
        filter.setEncoding("UTF-8");
        return new Filter[]{filter};
    }
SpringMVC@RequestMapping   设置当前控制器方法请求访问路径//类上方配置的请求映射与方法上面配置的请求映射连接在一起,形成完整的请求映射路径
@ResponseBody   设置当前控制器方法响应内容为当前返回值,无需解析
@ComponentScan(value = "com.itheima",
               excludeFilters = @ComponentScan.Filter(
                   type = FilterType.ANNOTATION,
                   classes = Controller.class
               )
              )       //过滤不需要扫描的包
//1. excludeFilters:排除扫描路径中加载的bean,需要指定类别(type)与具体项(classes)
//2. includeFilters:加载指定的bean,需要指定类别(type)与具体项(classes)
@RequestParam注解关联请求参数名称与形参名称之间的关系//普通参数:请求参数名与形参名不同时,使用@RequestParam注解关联请求参数名称与形参名称之间的关系
@EnableWebMvc注解功能强大,该注解整合了多个功能,此处仅使用其中一部分功能,即json数据进行自动类型转换
@RequestBody  将请求中请求体所包含的数据传递给请求参数,此注解一个处理器方法只能使用一次

 @RequestBody@RequestParam区别
- 区别
  @RequestParam用于接收url地址传参,表单传参【application/x-www-form-urlencoded】
  @RequestBody用于接收json数据【application/json】
- 应用
  后期开发中,发送json格式数据为主,@RequestBody应用较广
  如果发送非json格式数据,选用@RequestParam接收请求参数
@DateTimeFormat注解设置日期类型数据格式,默认格式yyyy/MM/dd
@PathVariable注解用于设置路径变量(路径参数),要求路径上设置对应的占位符,并且占位符名称与方法形参名称相同
@GetMapping  @PostMapping  @PutMapping  @DeleteMapping代替@RequestMapping(method=RequestMethod.XXX)
@RestController    @Controller@ResponseBody注解,简化书写
@RestControllerAdvice  //用于标识当前类为REST风格对应的异常处理器
@ExceptionHandler  //设置指定异常的处理方案,功能等同于控制器方法,出现异常后终止原始控制器执行,并转入当前方法执行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值