溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java中spring都有哪些注解

發布時間:2020-11-02 14:47:32 來源:億速云 閱讀:213 作者:小新 欄目:編程語言

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

spring 注解可以減少xml配置;注釋配置相對于 XML 配置具有很多的優勢:它可以充分利用 Java 的反射機制獲取類結構信息,這些信息可以有效減少配置的工作。如使用 JPA 注釋配置 ORM 映射時,我們就不需要指定 PO 的屬性名、類型等信息,如果關系表字段和 PO 屬性名、類型都一致,您甚至無需編寫任務屬性映射信息——因為這些信息都可以通過 Java 反射機制獲取。

使用注解之前要開啟自動掃描功能

其中base-package為需要掃描的包(含子包)。

<context:component-scan base-package="cn.test"/>

@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 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標注的方法,稱之為異步方法;

這些方法將在執行的時候,將會在獨立的線程中被執行,

調用者無需等待它的完成,

即可繼續其他的操作。

@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:注解在類上;為類提供一個全參的構造方法

==================================

關于java中spring都有哪些注解就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女