spring注解整理

springBoot注解整理:
一、springBoot启动程序注解:
@SpringBootApplication
@ServletComponentScan
1.@SpringBootApplication
@SpringBootApplication是一个复合注解,包括@ComponentScan,和@SpringBootConfiguration,@EnableAutoConfiguration。
@ComponentScan:扫描当前包及其子包下被@Component,@Controller,@Service,@Repository注解标记的类并纳入到spring容器中进行管理。
@SpringBootConfiguration:继承自@Configuration,二者功能也一致,标注当前类是配置类,
                          并会将当前类内声明的一个或多个以@Bean注解标记的方法的实例纳入到spring容器中,并且实例名就是方法名。
@EnableAutoConfiguration:启动自动的配置,@EnableAutoConfiguration注解的意思就是Springboot根据你添加的jar包来配置你项目的默认配置,
                          比如根据spring-boot-starter-web ,来判断你的项目是否需要添加了webmvc和tomcat,
                          就会自动的帮你配置web项目中所需要的默认配置。
                          也有扫描带有相关注解类的作用。
                          
@ServletComponentScan:需要自定义拦截器。  编写方法:继承WebMvcConfigurerAdapter 重写addInterceptors方法。
@Configuration:配置spring的上下文,启动容器。

@Value注解说明:
1.普通字符串:
@Value("我是个普通字符串")
private String nornal;
2.系统属性
@Value("#{systemEnvironment['os.name']}")
private String osName;
3.表达式的值
@Value("#{T(java.lang.Math).random()*1000.0}")
private double randomNumber;
4.其他bean属性
@Value("#{demoService.anotherValue}")
private String anotherValue;
5.注入文件资源
@Value("classpath:ch2/value/test.txt")
private Resource testFile;
6.注入网站资源
@Value("http://www.baidu.com")
private Resource testUrl;
7.注入配置文件的数据
@Value("${book.name:aaa}")
private String bookName;
备注
1.读取额外配置文件的属性,需要如下注解
@PropertySource({"classpath:com/hry/spring/configinject/config.properties"})
建议写一个类,需要的时候将这个类进行注入操作。

@Component
容器进行类扫描时遇到这个注解会把这个类当成组件添加到spring容器中,需要的时候进行注入操作即可。

@Configuration
底层还是@Component
标注一个类是配置类,spring boot在扫到这个注解时自动加载这个类相关的功能。
@Bean标签,则类似于该xml文件中,声明的一个bean实例。


@RequestMapping  作用于类级别或者方法级别。
参数:
1.produces 指定返回客户端的数据类型。对应http请求头中的Accept     produces = {"text/plain", "application/*"}  produces = "application/json; charset=UTF-8"
2.consumes 指定客户端发送的文件格式/数据等。对应http请求中的contentType  consumes = {"text/plain", "application/*"}
3.headers  限制请求的请求头。headers = {"content-type=text/plain "} headers = {"content-type=text/plain ","content-type=text/html "}
4.params   根据请求参数值的不同限制访问的请求
案例: @RequestMapping(value = "/fetch ", params = {"personId=10 "})
        public String getParams(@RequestParam("personId ") String id) {
        return "Fetched parameter using params attribute =  " + id;
        }
这个请求只有当前端传参personId的值为10才会触发。
5.method   设置请求的方法,方法类型:GET, POST, HEAD, OPTIONS, PUT, PATCH, DELETE, TRACE
案例: method = RequestMethod.POST
6.path 映射前端的请求路径。    value = "plugin/table/tablesetting" 
7.value 和path互为别名。使用方法相同。
8.name 理解成注释


@ResponseBody
表示该方法的返回结果直接写入HTTP response body中一般在异步获取数据时使用,如异步获取json数据,加上@Responsebody后,会直接返回json数据。

@Component
泛指组件,当组件不好归类时,可以使用这个注解进行标注。一般公共的方法会用上这个注解

@RestController
等价于@Controller和@Responsebody
可以尝试编写替换操作

@ControllerAdvice :类上标注注解,进行异常的处理操作。

@@ExceptionHandler:方法上标注注解,进行异常的处理操作。


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值