這篇文章將為大家詳細(xì)講解有關(guān)java中spring都有哪些注解,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

spring 注解可以減少xml配置;注釋配置相對(duì)于 XML 配置具有很多的優(yōu)勢(shì):它可以充分利用 Java 的反射機(jī)制獲取類結(jié)構(gòu)信息,這些信息可以有效減少配置的工作。如使用 JPA 注釋配置 ORM 映射時(shí),我們就不需要指定 PO 的屬性名、類型等信息,如果關(guān)系表字段和 PO 屬性名、類型都一致,您甚至無需編寫任務(wù)屬性映射信息——因?yàn)檫@些信息都可以通過 Java 反射機(jī)制獲取。
使用注解之前要開啟自動(dòng)掃描功能
其中base-package為需要掃描的包(含子包)。
<context:component-scan base-package="cn.test"/>
@Configuration把一個(gè)類作為一個(gè)IoC容器,它的某個(gè)方法頭上如果注冊(cè)了@Bean,就會(huì)作為這個(gè)Spring容器中的Bean。
@Scope注解 作用域
@Lazy(true) 表示延遲初始化
@Service用于標(biāo)注業(yè)務(wù)層組件、
@Controller用于標(biāo)注控制層組件(如struts中的action)
@Repository用于標(biāo)注數(shù)據(jù)訪問組件,即DAO組件。
@Component泛指組件,當(dāng)組件不好歸類的時(shí)候,我們可以使用這個(gè)注解進(jìn)行標(biāo)注。
@Scope用于指定scope作用域的(用在類上)
---------------jsr250----
@PostConstruct用于指定初始化方法(用在方法上)
@PreDestory用于指定銷毀方法(用在方法上)
@Resource 默認(rèn)按名稱裝配,當(dāng)找不到與名稱匹配的bean才會(huì)按類型裝配。
----------
@DependsOn:定義Bean初始化及銷毀時(shí)的順序
@Primary:自動(dòng)裝配時(shí)當(dāng)出現(xiàn)多個(gè)Bean候選者時(shí),被注解為@Primary的Bean將作為選者,否則將拋出異常
@Autowired 默認(rèn)按類型裝配,如果我們想使用按名稱裝配,可以結(jié)合@Qualifier注解一起使用。如下:
@Autowired @Qualifier("personDaoBean") 存在多個(gè)實(shí)例配合使用
@PostConstruct 初始化注解
@PreDestroy 摧毀注解 默認(rèn) 單例 啟動(dòng)就加載??
@Async異步方法調(diào)用,需要添加以下代碼:
<bean id="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"> <property name="corePoolSize" value="10"/> <property name="maxPoolSize" value="300"/> </bean> <task:annotation-driven/>
為了讓@Async注解能夠生效,還需要在Spring Boot的主程序中配置@EnableAsync
在Spring中,基于@Async標(biāo)注的方法,稱之為異步方法;
這些方法將在執(zhí)行的時(shí)候,將會(huì)在獨(dú)立的線程中被執(zhí)行,
調(diào)用者無需等待它的完成,
即可繼續(xù)其他的操作。
@Async所修飾的函數(shù)不要定義為static類型,這樣異步調(diào)用不會(huì)生效
@ComponentScan(basePackages = "com.xzc.")
@EnableAutoConfiguration
@SpringBootApplication
@PropertySource({"classpath:application.properties", "classpath:xzc.properties"})
@ImportResource("classpath:ws-client.xml")
@EnableRedisHttpSession
@EnableAspectJAutoProxy
@EnableCaching
@EnableAsync
@Configuration
@EnableScheduling 啟動(dòng)定時(shí)任務(wù)
@Entity注釋指名這是一個(gè)實(shí)體Bean
@SuppressWarnings注解?
1、 @PathVariable
當(dāng)使用@RequestMapping URI template 樣式映射時(shí), 即 someUrl/{paramId}, 這時(shí)的paramId可通過 @Pathvariable注解綁定它傳過來的值到方法的參數(shù)上
@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的值,綁定到方法的參數(shù)上。
若方法參數(shù)名稱和需要綁定的uri template中變量名稱不一致,需要在@PathVariable("name")指定uri template中的名稱。
Spring 4.2新特性-使用@Order調(diào)整配置類加載順序
----------------------------------------------------
lombok 簡化java代碼注解 理解
lombok 注解:
lombok 提供的注解不多,可以參考官方視頻的講解和官方文檔。
Lombok 注解在線幫助文檔:http://projectlombok.org/features/index.
下面介紹幾個(gè)我常用的 lombok 注解:
@Data :注解在類上;提供類所有屬性的 getting 和 setting 方法,此外還提供了equals、canEqual、hashCode、toString 方法
@Setter:注解在屬性上;為屬性提供 setting 方法
@Getter:注解在屬性上;為屬性提供 getting 方法
@Log4j :注解在類上;為類提供一個(gè) 屬性名為log 的 log4j 日志對(duì)象
@NoArgsConstructor:注解在類上;為類提供一個(gè)無參的構(gòu)造方法
@AllArgsConstructor:注解在類上;為類提供一個(gè)全參的構(gòu)造方法
==================================
關(guān)于java中spring都有哪些注解就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
當(dāng)前名稱:java中spring都有哪些注解-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://chinadenli.net/article18/hjgdp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、關(guān)鍵詞優(yōu)化、服務(wù)器托管、商城網(wǎng)站、網(wǎng)站排名、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容