Server包:
Application啟動類:
CommandLinerRunner:此接口用於實現springboot啟動時,加載默認配置,比如數據庫初始化。
啟動類的注解:
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients(basePackages = “com.cl”)
@MapperScan(basePackages = {com.cl.ai.**.mapper})
Rest層(class):
Rest注解:通常extends BaseRest
@RestController
@RequestMapping(value = “/make”)
@GetMapping(value = “/enum”)
@PostMapping(value = “/Save”)
@Autowired和@Resource
@ApiOperation
@Slf4j
入參注解:
@RequestBody @Valid @Validated
Form注解:
@ToString
@Getter
@Setter
@Min(value = 0 , message = “isFinish不能小於0”)
@max
@JsonFormat(pattern = “yyyy-MM-dd”, timezone =”GMT+8”)
@NotNull(message = ”001|頁碼不能為空”)
常用類型:
Page和Page<>:Mybatis中用於分頁查詢
Result和Result<>:自定義封裝類
Ps:<> 這叫范型,或者泛型!主要用去規定你這個集合中出現的數據類型!例子:一個彎可以裝很多種食物,加上范型,比如是面,那么這個碗只能是裝上面這類的食物的!
Service層:
接口類(interface):
Impl層(class):
@Service和@Service(“接口的名稱”),Spring中默認是已經注冊好的。
@Override
@TranSactional(rollbackFor = Exception.class)事務回滾
@Async(“getTask”)和@EnableAsync:異步調用,啟用多線程。在Spring中,@EnableAsync可以使用多線程,@Async可以定義一個線程任務。
@Value(“${}”)和@Value(“#{}”)獲取配置文件
HSSFWorkBook:工作簿的高級表現形式,用來讀取excel.
MongoTemplate:java的mongo操作類。
Ps: @Repository、@Service、@Controller 和 @Component
Component層:
Mapper(interfeac):extends BaseDAO
@Mapper,要在啟動類中添加@MapperScan(),mybatis3.4以后出現
@repository:注解接口,起到聲明作用
@Select和@Param,@Results,@Result
@Insert
@Update
Ps:@repository @Service @Compent@Controller,沒有本質區別,都是聲明作用,取不同的名字是為了區分。
Model(class):
@TableName(“”)
@Setter
@Getter
@TableId 表主鍵標識
@TableLogic 表字段邏輯處理注解,邏輯刪除
Global層:
Cofig(class):
@Configuration用於定於配置類。
@ApolloConfig用來自動注入Config
@ApolloConfigChangeListener用來自動注冊ConfigChangeListener
Constants(enum):
Util(class):
Api包:
Dto層:
Bo(class):
@data:為類提供@Geeter/@Setter,同時還提供equals(),hashCode(),toString()
@NoArgsConstructor:lomback生成構造方法的注解,此注解生成一個無參構造方法。
@JsonNaming(SnakeCaseStrategy.class)指定Json字段名映射策略為蛇形大小寫策略。
Constants(class):
@JsonFormat(shape=JsonFormat.Shape.OBJECT)java將枚舉序列化為對象
Form(class):
@ApiModel
@ApiModelProperty聲明api
Feign層(interface):
@FeignClient(name=”spring-boot-user”,url=””):spring-boot-user是eureka服務里面user項目的名稱,加入此注解,能直接連接user項目接口。
@GetMapping(value=””)
@PostMapping(value=””)
@PathVariable(“id”)用來映射url中的占位符到目標方法的參數中。