Spring Boot注解
@SpringBootApplication
:該注解是一個組合注解包含了@ComponentScan
、@Configuration
和@EnableAutoConfiguration
注解乎完。@RestController
:注解是@Controller
和@ResponseBody
的合集,表示這是個控制器bean,并且是將函數(shù)的返回值直 接填入HTTP響應體中,是REST風格的控制器。
①:@ResponseBody
:表示該方法的返回結果直接寫入HTTP response body中,一般用于構建RESTful的api幽七。加上@Responsebody
后谬运,會直接返回Json數(shù)據(jù)。該注解一般會配合注解@RequestMapping( value = "" )
一起使用仇祭。
②:@Controller
:用于定義控制器類披蕉,在Spring項目中由控制器負責將用戶發(fā)來的URL請求轉(zhuǎn)發(fā)到對應的服務接口(Service層),一般這個注解在類中乌奇,該注解一般會配合注解@RequestMapping( value = "" )
没讲。@RequestMapping
:提供路由信息,負責URL到Controller層中的具體函數(shù)的映射礁苗。@Service
:一般用于修飾Service層的組件爬凑。@Repository
:這個注解修飾的DAO或者Repository類會被ComponetScan發(fā)現(xiàn)并配置。@Autowired
:自動導入依賴的Bean试伙。@Import
:用來導入其他配置類贰谣。
8.@ImportResource
:用來加載XML配置文件娜搂。
@Bean
:用@Bean標注方法等價于XML中配置的Bean。@Component
:泛指組件吱抚,當組件不好歸類的時候百宇,我們可以使用這個注解進行標注。
Spring Data JPA注解
@Entity
:@Table( name = "" )
:表明這是一個實體類秘豹。一般用于JPA這兩個注解一般一塊使用携御,但是如果表名和實體類名相同的話,@Table
也可以省略既绕。@Column(name = " ",length = " ",nullable = " ",unique = " ",columnDefinition = " ")
:如果字段名與列名相同啄刹,則可以省略。@Id
:表示該屬性為主鍵凄贩。@GeneratedValue(strategy = "",generator = "" )
:表示主鍵生成策略誓军,設置主鍵的生成策略,這種方式依賴于具體的數(shù)據(jù)庫疲扎,如果數(shù)據(jù)庫不支持自增主鍵昵时,那么這個類型是沒法用的。@GenericGenerator(name = "", strategy = "" )
:如果@GeneratedValue
注解中主鍵生成策略中采用的是自定義的主鍵生成策略椒丧,需要配合使用才注解壹甥。@Transient
:表示使用該注解的屬性并非一個需要持久化到數(shù)據(jù)庫中的字段,ORM框架將忽略該屬性壶熏。@JsonIgnore
:作用是json序列化時將Java Bean中的一些屬性忽略掉,序列化和反序列化都受影響句柠。@OneToOne、@OneToMany棒假、@ManyToOne
:對應Hibernate配置文件中的一對一溯职,一對多,多對一帽哑。@MappedSuperClass
:用在確定是父類的Entity上缸榄。父類的屬性子類可以繼承。@NoRepositoryBean
:一般用作父類的Repository祝拯,有這個注解甚带,Spring不會去實例化該Repository。@CreationTimestamp
: 創(chuàng)建時自動更新時間佳头。@UpdateTimestamp
: 更新時自動更新時間鹰贵。
@CreationTimestamp
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime createTime;
@UpdateTimestamp
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime updateTime;
項目中具體配置解析和使用環(huán)境
-
@MappedSuperclass
:
①:@MappedSuperclass
注解使用在父類上面,是用來標識父類的康嘉。
②:@MappedSuperclass
標識的類表示其不能映射到數(shù)據(jù)庫表碉输,因為其不是一個完整的實體類,但是它所擁有的屬性能夠映射在其子類對用的數(shù)據(jù)庫表中亭珍。
③:@MappedSuperclass
標識的類不能再有@Entity
或@Table
注解。