【Spring Boot】注解整理

目录

@ResponseBody
总结:将java对象转为json格式的数据。
@responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据。

注意:在使用此注解之后不会再走视图处理器,而是直接将数据写入到 HTTP response body 中,一般在异步获取数据时使用【也就是AJAX】,他的效果等同于通过response对象输出指定格式的数据。

注意:在使用 @RequestMapping后,返回值通常解析为跳转路径,但是加上 @ResponseBody 后返回结果不会被解析为跳转路径,而是会直接返回 json 数据。
原文链接:https://blog.csdn.net/originations/article/details/89492884

@RequestMapping

public interface RequestMapping extends Annotation {
      // 指定映射的名称
    public abstract String name();
      // 指定请求路径的地址
    public abstract String[] value();
      // 指定请求的方式,是一个RequsetMethod数组,可以配置多个方法
    public abstract RequestMethod[] method();
      // 指定参数的类型
    public abstract String[] params();
     
    public abstract String[] headers();
      // 指定数据请求的格式,例如application/json, text/html;
    public abstract String[] consumes();
      // 指定返回的内容类型
    public abstract String[] produces();

@RequestParam
将请求参数绑定到你控制器的方法参数上(是springmvc中接收普通参数的注解)

@RequestParam(value=”参数名”,required=true/false,defaultValue=0/null”)

@PathVariable
@PathVariable是spring3.0的一个新功能:接收请求路径中占位符的值
通过 @PathVariable 可以将URL中占位符参数{xxx}绑定到处理器类的方法形参中@PathVariable(“xxx“)

@Controller
@RequestMapping(path = "/user")
@ResponseBody
public class UserController {
        
	@RequestMapping(value="/{id}/{name}", method=RequestMethod.GET)
	public String showUser(@PathVariable("id") Integer id,@PathVariable("name") String name) {
	//...
		return id+name;
	}
}

@Autowired
容器启动时就可以 自动按类型装配依赖对象(可以作用在属性、普通方法、构造器、方法形参上)

默认情况下它要求依赖对象必须存在,如果允许null值,可以设置它required属性为false。

@Resource
与@Autowired类似,按名字装配依赖对象

可以自定义

  1. 如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常

  2. 如果指定了name,则从上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常

  3. 如果指定了type,则从上下文中找到类型匹配的唯一bean进行装配,找不到或者找到多个,都会抛出异常

  4. 如果既没有指定name,又没有指定type,则自动按照byName方式进行装配;如果没有匹配,则回退为一个原始类型进行匹配,如果匹配则自动装配;

@component
(把普通pojo实例化到spring容器中,相当于配置文件中的<bean id="" class=""/>

@Configuration

@Configuration标注在类上,相当于把该类作为spring的xml配置文件中的<beans>,作用为:配置spring容器(应用上下文)

详解:

  1. 被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被扫描,用于构建bean定义,初始化Spring容器。

  2. 多用于标注一个全局配置的类,可替换xml配置文件,被该注解修饰的类中 所有带 @Bean 注解的方法都会被cglib动态代理,因此调用该方法返回的都是同一个bean实例。

  3. 可以采用@Configuration+@Bean,注册实例

  4. 也可以采用@Configuration+@component+@ComponentScan,注册实例

@ConfigurationProperties(prefix=“xxx”)

读取properties配置文件,指定前缀。

@Component
@ConfigurationProperties(prefix="redis")
public class RedisConfig {

	private String host;

	public String getHost() {
		return host;
	}
	public void setHost(String host) {
		this.host = host;
	}
# redis
redis.host=192.168.40.132
redis.port=6379
redis.timeout=3
# redis.password=123456
redis.poolMaxTotal=10
redis.poolMaxIdle=10
redis.poolMaxWait=3

@Transactional
简言之,作用在方法上时,该方法的操作为一个事务,如果发生异常,事务回滚到最初状态。例如数据库的增、删。
属性如下:

  1. transactionManager
  2. propagation:传播行为
  3. isolation:隔离级别
  4. timeout:超时时间
  5. readOnly:是否只读
  6. rollbackFor等等…
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_popo_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值