SpringBoot常用注解

@SpringBootApplication

用在SpringBoot项目的启动程序上,整个SpringBoot只有且必须有这一个这样的注解,是项目的入口程序

@Controller

是让URL请求返回具体的页面,这个注解在类头上添加

@RequestMapping("**")

在Controller控制器中的方法头使用

@RestController

通过@RestController注解后,其方法内再配合@RequestMapping,即可返回Json格式的数据

@RequestParam(value=“变量名”,required=true/false,defaultVale=默认值)

value:请求参数名(必须配置)
required:默认为true
defaultValue:如果设置该值,required将自动设为false

@PathVariable

在参数前设置,格式是:@PathVariable(value=“变量名”,required=true/false)

@GetMapping

只接收前端get请求

@PostMapping

只接收前端post提交,一般用于数据的新增

@PutMapping

只接收前端put提交,一般用于数据的修改

@DeleteMapping

只接收前端DELETE请求,用于数据的删除

@RestBody

用于接收前端传递给后端的json字符串中的数据,在后端同一个接收方法里,@RequestBody与@RequestParam()可以同时使用,@RequestBody最多只能有一个,@RequestParam()可以有多个

@CrossOrigin

前后端分离之后前端Ajax请求后端经常碰到的问题就是跨域问题,可以有多种方式解决
1.在方法头加@CrossOrigin注解
2.使用过滤器设置

@Configuration

是定义配置类,一般在该类内部通过@bean注册,也就是说将来在调用时不用手工new

@Bean

@Service

用于修饰service层的组件,标注在类上。
之后调用时和用@Bean注册是一样用@Autowired即可。
用@Service标注的类一般都是明确是业务服务层,从业务角度清晰的划分。

@Component

@Component和@Service没有本质的区别

@Repository

@Repository和@Controller、@Service、@Component的作用差不多,都是把对象交给IOC管理

@Autowired

是用来“new实例”的,加了该注解的对象可以直接调用即可,无需手动new对象。
在这里插入图片描述

@Resource

用@Resource和@Autowired类似
在这里插入图片描述

@Autowried+@Qualifier

在这里插入图片描述

@Value

1.是获取application.properties中的配置信息
2.用@Value取值
在这里插入图片描述

注解使用总结

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

SSM框架补充注解

如果框架选择的是SSM,要使用注解的配置,则需要注意dao层接口的扫描。就不能再用@Repository注解了,需要使用@Mapper在接口上添加注解或者使用@MapperScan在主程序上添加注解。

@Mappeer
@Mapper注解是Mybatis注解,Mybatis运行时需要找到mapper文件,然后构建代理类来完成整个功能的实现,和Spring没有关系。
@Mapper的作用:在接口类上添加了@Mapper,在编译之后会生成相应的接口实现类

@Mapper
public interface UserDao{//代码
}

如果想要每个接口都要变成实现类,那么需要在每个接口类上加上@Mapper注解,比较麻烦,解决这个问题用@MapperScan注解
@MapperScan
作用:指定要变成实现类的接口所在的包,然后包下面的所有接口在编译之后都会变成相应的实现类,添加位置是在SpringBoot启动类上面添加。

@SpringBootApplication
@MapperScan("com.mingshop.dao")
public class DemoApplication{
	public static void main(String[] args){
		SpringApplication.run(DemoApplication.class,args);
	}
}

添加@MapperScan(“com.mingshop.dao”)注解之后,com.mingshop.dao包下面的接口类,在编译之后都会生成相应的实现类

使用@MapperScan注解多个包

@SpringBootApplication
@MapperScan({"com.mingshop.demo1","com.mingshop.demo2"})
public class DemoApplication{
	public static void main(String[] args){
		SpringApplication.run(DemoApplication.class,args);
	}
}

@Mapper和@Repository到底用哪个?

@Mapper是Mybatis注解,Mybatis运行时需要能找到mapper文件,然后运行时构建代理类来完成功能,和Spring没有关系。只有使用mybatis时才有@Mapper注解,没有引入Mybatis是没有@Mapper注解,这点可以看@Mapper所在包路径就知道了。
@Repositroy是来自org.springframework.stereotype.Repository,是Spring的包。在DAO接口中注解了@Repository或者不加,都能注入实例到Spring中,被Service层引用

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值