- @Controller 和 @RestController
Controller和RestController是两种Spring MVC的控制器注解,它们的主要区别在于返回的数据类型和是否支持视图跳转。
Controller可以返回ModelAndView对象,跳转到jsp、ftl、html等模板页面52,也可以通过@ResponseBody返回数据。
RestController相当于Controller和@ResponseBody的结合体,只能返回数据,通常是json格式,适合构建RESTful风格的API。
- @SuppressWarnings
转载来自:http://www.cnblogs.com/fsjohnhuang/p/4040785.html ^_^肥仔John
@SuppressWarnings(“ALL”) 抑制所有类型的警告
- @Query
第一个位置参数?0 ,对应于方法中的第一个参数,该参数的值将被使用
@Query("{'id':'?0','code':'?1'}")
List<Book> findData(String var1, String var2);
- @Id
标注用于声明一个实体类的属性映射为数据库的主键列。该属性通常置于属性声明语句之前
常用注解
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@GeneratedValue 用于标注主键的生成策略,通过strategy 属性指定。默认情况下,JPA 自动选择一个最适合底层数据库的主键生成策略:SqlServer对应identity,MySQL 对应 auto increment。
ps. 在指定主键时,如果不指定主键生成策略,默认为AUTO。
- @EnableMongoRepositories
@EnableMongoRepositories(basePackages = “com.mongo.dao”) 这个注解的含义是:自动扫描com.mongo.dao包下的接口(继承MongoRepository<Person,String>),并且为这个类自动生成其实现类,该类提供了操作MongoDB的方法。
public interface PersonRepository extends MongoRepository<Person,String>{
}
- @value
/**
* 如果属性中未配置ip,则使用默认值
*/
@Value("${ip:127.0.0.1}")
private String ip;
- @Transient
给某个javabean上需要添加这个属性,但是这个属性你又不希望给存到数据库中去,仅仅是做个临时变量,用一下。不修改已经存在数据库的数据的数据结构。javebean需要实现Serilizable接口
- @JSONField(serialize = false)
Sprintboot默认是通过jackson来转换JSON的,@JSONField(serialize = false)是FastJson的注解,Springboot使用jackson进行转JSON的时候并不会扫描这个注解。