SpringBoot注解
最近学院安排了第三学期java实训,要求使用SpringBoot框架完成一个javaWeb项目,其中使用到很多注解,故开贴记录一下,希望能帮到有需要的人。
1. @SpringBootApplication
SpringBoot项目的核心注解,目的是开启自动配置,会在SpringBoot项目自动生成的Application类中标注
// example
package com.ccnuyjt;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication // SpringBoot项目的核心注解
@MapperScan("com.ccnuyjt.mapper")
public class DemoSpringbootXm02Application {
public static void main(String[] args) {
SpringApplication.run(DemoSpringbootXm02Application.class, args);
}
}
2. @Data
在类上使用,主要作用是提高代码的简洁度,使用这个注解可以省去代码中大量的get()、 set()、 toString()等方法
// example
import lombok.AllArgsConstructor;
import lombok.Data // import导入
import lombok.NoArgsConstructor;
@Data // 这个注解可以省略getter/setter等,只需要写字段就行
@NoArgsConstructor
@AllArgsConstructor
public class User {
private int uid;
private String username;
private String password;
private String phone;
private String userpic;
private String nickname;
}
但是注意,如果想使用@Data的话要在pom.xml里加入依赖项
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
3. @NoArgsConstructor
在类上使用,生成无参构造函数;
// example
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor; // import导入
@Data
@NoArgsConstructor // 这个注解可以省略无参构造函数
@AllArgsConstructor
public class User {
private int uid;
private String username;
private String password;
private String phone;
private String userpic;
private String nickname;
}
但是注意,如果想使用@NoArgsConstructor的话要在pom.xml里加入依赖项
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
4. @AllArgsConstructor
在类上使用,生成全参构造函数
// example
import lombok.AllArgsConstructor; // import导入
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor// 这个注解可以省略全参构造函数
public class User {
private int uid;
private String username;
private String password;
private String phone;
private String userpic;
private String nickname;
}
但是注意,如果想使用@AllArgsConstructor的话要在pom.xml里加入依赖项
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
5. @Mapper与@MapperScan
在接口类上添加了@Mapper,在编译之后会生成相应的接口实现类,但是如果想要每个接口都要变成实现类,那么需要在每个接口类上加上@Mapper注解,比较麻烦,故使用@MapperScan,在Springboot启动类上面添加,可以指定要变成实现类的接口所在的包,然后包下面的所有接口在编译之后都会生成相应的实现类
// example
package com.ccnuyjt;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
//添加对接口(持久层)的扫描
@MapperScan("com.ccnuyjt.mapper")
public class DemoSpringbootXm02Application {
public static void main(String[] args) {
SpringApplication.run(DemoSpringbootXm02Application.class, args);
}
}