Spring Boot 入门(注解的使用)

注解的使用

@Component & @ConfigurationProperties**

pojo对象,需要@Component定义Spring管理Bean,@ConfigurationProperties指定前缀内容。

@Component注解相当于:@Service,@Controller,@Repository,并下面类纳入进spring容器中管理。这样才能被下一层@Autowired注入该对象。

@Component
@ConfigurationProperties(prefix = "girl")
public class GirlProperties {

    private String size;

    private Integer age;

    public String getSize() {
        return size;
    }

    public void setSize(String size) {
        this.size = size;
    }
    ...
}

运行@SpringBootApplication,即可访问Controller的内容

@RestController
public class HelloController {

    @Autowired
    private GirlProperties girlProperties;

    @RequestMapping(value = "/hello",method = RequestMethod.GET)
    public String say(){
        return girlProperties.getSize();
    }
}

@RestController

@RestController = @ResponseBody + @Controller

@RequestMapping

  1. @RequestMapping可以指定多个value: @RequestMapping(value={"/say","/hi"}) 。

  2. @RequestMapping的Get请求获取参数的方式:

方式一PathVariable:访问地址中间参数传输:

  @RequestMapping(value="/{id}/say",method = RequestMethod.GET)
  public String say(@PathVariable("id") Integer id){
      return "Hello World:"+id;
  }

url访问地址可以将id中间位置:http://localhost:8080/hello/10086/say

方式二RequestParam:访问地址后面传值:

  @RequestMapping(value="/say",method = RequestMethod.GET)
  public String say(@RequestParam("id") Integer id){
      return "Hello World:"+id;
  }

url访问方式:http://localhost:8080/hello/say?id=10086

添加默认值:(@RequestParam(value = “id”, required = false, defaultValue = “0”) Integer id) ,如何不传id,它就会默认为0。

@RequestMapping(value="/say",method = RequestMethod.GET)也可以写成GetMapping(value="/say")的方式。

@Transactional

当一个Service的方法里有两条sql插入操作,在方法上面添加@Transactional注解,即说明其为同个事务,保证其同时执行成功或者同时执行

只有在Innodb引擎下事务才能工作。所以还需要在数据库中执行 ALTER TABLE girl ENGINE=innodb命令。

    @Transactional
    public void insertTwo(){
        Girl girlA = new Girl();
        girlA.setSize("A");
        girlA.setAge(18);
        girlRepository.save(girlA);

        Girl girlB = new Girl();
        girlB.setSize("B");
        girlB.setAge(20);
        girlRepository.save(girlB);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值