Spring和SpringBoot项目所需注解

主类注解

@SpringBootApplication:------包含@Configuration、@EnableAutoConfiguration、@ComponentScan通常用在主类上;

@Configuration :等同于spring的XML配置文件;使用Java代码可以检查类型安全。

@EnableAutoConfiguration:------让 Spring Boot 根据应用所声明的依赖来对 Spring 框架进行自动配置,一般加在主类上;

@ComponentScan:-----组件扫描。个人理解相当于,如果扫描到有@Component @Controller @Service等这些注解的类,则把这些类注册为bean*;

控制层

@RequestMapping-----返回值通常解析为跳转路径,包含6个可选属性
        params:指定request中必须包含某些参数值是,才让该方法处理。
        headers:指定request中必须包含某些指定的header值,才能让该方法处理请求。 
        value:指定请求的实际地址,指定的地址可以是URI Template 模式 
        method:指定请求的method类型, GET、POST、PUT、DELETE等 
        consumes:指定处理请求的提交内容类型(Content-Type),如application/json,text/html; 
        produces:指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回。

@RestController-----无法返回jsp页面,配置的视图解InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。返回JSON,XML或自定义mediaType内容到页面,需要加上@ResponseBody注解。

前后端交互多为json字符串 ----推荐@RestController

@ResponseBody----表示该方法的返回结果直接写入HTTP response body中,一般在异步获取数据时使用,用于构建RESTful的api

@requestBody----可以将请求体中的JSON字符串绑定到相应的bean上,当然,也可以将其分别绑定到对应的字符串上。

@RequestParam:----用在方法的参数前面。相当于 request.getParameter();
@PathVariable:-----路径变量。如 RequestMapping(“user/get/mac/{macAddress}”) ;

public String getByMacAddress(
@PathVariable(“macAddress”) String macAddress){ 
//do something; 
}

业务逻辑层
@Service:------用于标注业务层组件;

数据持久层

@Repository(value="userDao")------注解是告诉Spring,让Spring创建一个名字叫“userDao”的UserDaoImpl实例。
当Service需要使用Spring创建的名字叫“userDao”的UserDaoImpl实例时,就可以使用@Resource(name = "userDao")注解告诉Spring,Spring把创建好的userDao注入给Service即可。

通用注解

@Component:-----泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注;

@AutoWired:-----byType方式。把配置好的Bean拿来用,完成属性、方法的组装,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作;当加上(required=false)时,就算找不到bean也不报错;

当service或dao类,存在多个接口需要实现时,可以搭配@Qualifier注解确定具体注入哪个,

也可以直接通过@Resource(name="xxx")也可以实现。
@Qualifier:-----当有多个同一类型的Bean时,可以用@Qualifier(“name”)来指定。与@Autowired配合使用;(通俗一点说,就是一个类实现多个接口时,autowired不能确定具体是哪个,就加上这个注解,指定具体的名字)
@Resource(name=”name”,type=”type”):------没有括号内内容的话,默认byName。与@Autowired干类似的事;

@Bean:-----相当于XML中的,放在方法的上面,而不是类,意思是产生一个bean,并交给spring管理;

@PostConstruct-----说明被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器调用一次,类似于Servlet的init()方法。被@PostConstruct修饰的方法会在构造函数之后,init()方法之前运行。

@Column:-----如果字段名与列名相同,则可以省略;
@Id:----表示该属性为主键;
@Transient:-----表示该属性并非一个到数据库表的字段的映射,ORM框架将忽略该属性. 

@Value:-----注入Spring boot application.properties配置的属性的值。

@NonNull ------注解在属性上,如果加了该注解,必须不能为Null

 

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值