SpringBoot 註解

來記錄一下springBoot使用頻率較高的註解html

 

@SpringBootApplication(啓動類)
是Sprnig Boot項目的核心註解,目的是開啓自動配置
先作下記錄,有時間再深刻探索SpringApplication執行流程 可參考:https://blog.csdn.net/qq_28289405/article/details/81302498
@SpringBootApplication
public class AdminApplication {
    public static void main(String[] args) {
        SpringApplication.run(AdminApplication.class, args);
    }
}

  

@Controller (注入服務)
用於標註控制層,至關於struts中的action層
@Controller
public class OrderController {
    
}
 
@Service(注入dao)
用於標註服務層,主要用來進行業務的邏輯處理
@Service
public class OrderServiceImpl implements OrderService {

}

  

@Repository(實現dao訪問)
用於標註數據訪問層,也能夠說用於標註數據訪問組件,即DAO組件.
使用@Repository註解能夠確保DAO或者repositories提供異常轉譯,這個註解修飾的DAO或者repositories類會被ComponetScan發現並配置,同時也不須要爲它們提供XML配置項。
 
@Repository
public class OrderDao {
    
}
 
@ResponseBody(控制器返回)
將結果寫入HTTP response body中,好比異步獲取json數據,會直接返回json數據
@ResponseBody
public CommonResult<CommonPage<Order>> list(@RequestBody Order order)
{
    
}

@RestController(@Controller+@ResponseBody)
用於標註控制層組件,是@Controller和@ResponseBody的合集,表示這是個控制器bean,而且是將函數的返回值直接填入HTTP響應體中,是REST風格的控制器。
 
@RestController
public class OrderController {
    
}
 
@Component(組件)
@Service、@Repository是它的擴展,它能夠做用在任何層次
@Component
public class UserComponentImpl implements IUser {
    private String name = "UserComponentImpl";

    @Override
    public String get() {
        return name;
    }
}
 

@Bean(容器組件對象注入)
註解用於告訴方法,產生一個Bean對象,而後這個Bean對象交給Spring管理。產生這個Bean對象的方法
Spring只會調用一次,隨後這個Spring將會將這個Bean對象放在本身的IOC容器中。
@Bean能夠應用在不少方法上
@Bean
public PasswordEncoder passwordEncoder() {
    return new BCryptPasswordEncoder();
}
其實前面好幾個註解都是聲明Bean的註解
  • @Component 沒有明確角色的組件
  • @Service 在業務邏輯層(Service層)使用
  • @Repositpry 在數據訪問層(dao層)使用
  • @Controller 用於標註控制層組件
  • @RestController
可參考:https://blog.csdn.net/lipinganq/article/details/79155072

在講一下和路由相關的註解
@RequestMapping
提供路由信息,負責URL到Controller中的具體函數的映射,方法返回值一般解析爲跳轉路徑。
 
@RequestMapping("/order")
public class OrderController {
    @RequestMapping(value = "/list", method = RequestMethod.GET)
    public CommonResult create(@RequestBody Order order) {

  } 
}
 

 

還有一些swagger相關的註解java

@Api
對類的說明
@Api(tags = "OrderController", description = "訂單管理")

  

@ApiOperation
請求方法的說明
@ApiOperation("查詢訂單")

 

 還有spring

@ApiImplicitParams
@ApiResponses
@ApiModel

 可參考:swagger2 註解總體說明 https://www.cnblogs.com/cxscode/p/11733140.htmljson

 

@Override
告訴編譯器這個方法是一個重寫方法,若是父類或者被實現的接口不存在該方法,
編譯器便會報錯,提示該方法沒有重寫父類中的方法
public interface OrderService {
    List<Order> list(OrderQueryParam queryParam, Integer pageSize, Integer pageNum);
}

@Service
public class NoticeServiceImpl implements NoticeService {
    @Override
    public List<Order> list(OrderQueryParam queryParam, Integer pageSize, Integer pageNum) {
        PageHelper.startPage(pageNum, pageSize);
        return orderDao.getList(queryParam);
    }
}

  

  

部分參考:https://www.cnblogs.com/clwydjgs/p/9255083.htmlSpringBoot註解:https://www.jianshu.com/p/005abebce09d聲明Bean的註解:https://blog.csdn.net/lipinganq/article/details/79155072
相關文章
相關標籤/搜索