spring 註解可以減少xml配置;註釋配置相對於 XML 配置具有很多的優勢:它可以充分利用 Java 的反射機制獲取類結構信息,這些信息可以有效減少配置的工作。如使用JPA 註解配置ORM 映射時,我們就不需要指定PO 的屬性名稱、類型等信息,如果關係表字段和PO 屬性名、類型都一致,您甚至無需編寫任務屬性映射信息——因為這些信息都可以透過Java 反射機制來取得。
推薦課程:Java教學。
使用註解之前要開啟自動掃描功能
#其中base-package為需要掃描的套件(含子套件)。
<component-scan></component-scan>
@Configuration把一個類別當作一個IoC容器,它的某個方法頭上如果註冊了@Bean,就會作為這個Spring容器中的Bean。
@Scope註解作用域
@Lazy(true) 表示延遲初始化
@Service用於標註業務層元件、
@Controller用於標註控制層元件(如struts中的action)
@Repository用於標註資料存取元件,即DAO元件。
@Component泛指元件,當元件不好歸類的時候,我們可以使用這個註解來標註。
@Scope用來指定scope作用域的(用在類別上)
---------------jsr250----
#@PostConstruct用來指定初始化方法(用在方法上)
@PreDestory用於指定銷毀方法(用在方法上)
@Resource 預設按名稱組裝,當找不到與名稱相符的bean才會依類型組裝。
----------
@DependsOn:定義Bean初始化及銷毀時的順序
@Primary:自動組裝時當出現多個Bean候選者時,被註解為@Primary的Bean將作為首選者,否則將拋出異常
#@Autowired 預設按類型裝配,如果我們想使用按名稱裝配,可以結合@Qualifier註解一起使用。如下:
@Autowired @Qualifier("personDaoBean") 存在多個實例配合使用
@PostConstruct 初始化註解
@PreDestroy 摧毀註解 預設 單例 啟動就載入? ?
@Async非同步方法調用,需要加入以下程式碼:
<bean> <property></property> <property></property> </bean> <annotation-driven></annotation-driven>
為了讓@Async註解能夠生效,還需要在Spring Boot的主程式中配置@EnableAsync
在Spring中,基於@Async標註的方法,稱之為非同步方法;
這些方法將在執行的時候,將會在獨立的執行緒中被執行,
呼叫者無需等待它的完成,
即可繼續其他的操作。
@Async所修飾的函數不要定義為static類型,這樣非同步呼叫不會生效
@ComponentScan(basePackages = "com.xzc.")
@EnableAutoConfiguration
@SpringBootApplication
@PropertySource({"classpath:application.properties", "classpath:xzc.properties"})
#@ImportResource("classpath:ws-client .xml")
@EnableRedisHttpSession
@EnableAspectJAutoProxy
@EnableCaching
#@EnableAsync
@Configuration @EnableScheduling 啟動定時任務
@Entity註解指名這是一個實體Bean
@SuppressWarnings註解?1、 @PathVariable
當使用@RequestMapping URI template 樣式映射時,即someUrl/{paramId}, 這時的paramId可透過@Pathvariable註解綁定它傳過來的值到方法的參數上
@Controller @RequestMapping("/owners/{ownerId}") public class RelativePathUriTemplateController { @RequestMapping("/pets/{petId}") public void findPet(@PathVariable String ownerId, @PathVariable String petId, Model model) { // implementation omitted } }
上面程式碼把URI template 中變數ownerId的值和petId的值,綁定到方法的參數上。
若方法參數名稱和需要綁定的uri template中變數名稱不一致,需要在@PathVariable("name")指定uri template中的名稱。
Spring 4.2新特性-使用@Order調整配置類別載入順序------------------- ---------------------------------
lombok 簡化java程式碼註解理解
#lombok 註解:
lombok 提供的註解不多,可以參考官方影片的講解和官方文件。
Lombok 註解線上說明文件:http://projectlombok.org/features/index.
下面介紹幾個我常用的lombok 註解:
# @Data :註解在類別上;提供類別所有屬性的getting 和setting 方法,此外還提供了equals、canEqual、hashCode、toString 方法
@Setter:註解在屬性上;為屬性提供setting 方法
@Getter:註解在屬性上;為屬性提供getting 方法
@Log4j :註解在類別上;為類別提供一個屬性名稱為log 的log4j 日誌物件
@NoArgsConstructor:註解在類別上;為類別提供一個無參的構造方法
@AllArgsConstructor:註解在類別上;為類別提供一個全參的構造方法
======== ==========================
以上是spring都有什麼註解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于结构化数据处理开源库SPL的相关问题,下面就一起来看一下java下理想的结构化数据处理类库,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于PriorityQueue优先级队列的相关知识,Java集合框架中提供了PriorityQueue和PriorityBlockingQueue两种类型的优先级队列,PriorityQueue是线程不安全的,PriorityBlockingQueue是线程安全的,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于java锁的相关问题,包括了独占锁、悲观锁、乐观锁、共享锁等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于多线程的相关问题,包括了线程安装、线程加锁与线程不安全的原因、线程安全的标准类等等内容,希望对大家有帮助。

本篇文章给大家带来了关于Java的相关知识,其中主要介绍了关于关键字中this和super的相关问题,以及他们的一些区别,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于枚举的相关问题,包括了枚举的基本操作、集合类对枚举的支持等等内容,下面一起来看一下,希望对大家有帮助。

封装是一种信息隐藏技术,是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法;封装可以被认为是一个保护屏障,防止指定类的代码和数据被外部类定义的代码随机访问。封装可以通过关键字private,protected和public实现。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于设计模式的相关问题,主要将装饰器模式的相关内容,指在不改变现有对象结构的情况下,动态地给该对象增加一些职责的模式,希望对大家有帮助。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Linux新版
SublimeText3 Linux最新版