spring常用註解

來源:互聯網
上載者:User

標籤:執行個體   class   href   variable   blank   定時任務   生效   param   多個   

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

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

1 <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非同步方法呼叫調用,需要添加以下代碼:

 

12345 <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 

1、 @PathVariable 

當使用@RequestMapping URI template 樣式映射時, 即 someUrl/{paramId}, 這時的paramId可通過 @Pathvariable註解綁定它傳過來的值到方法的參數上

  1. @Controller  
  2. @RequestMapping("/owners/{ownerId}")  
  3. public class RelativePathUriTemplateController {  
  4.   
  5.   @RequestMapping("/pets/{petId}")  
  6.   public void findPet(@PathVariable String ownerId, @PathVariable String petId, Model model) {      
  7.     // implementation omitted  
  8.   }  
  9. } 

上面代碼把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:註解在類上;為類提供一個全參的構造方法

 

 本文轉自:http://www.cnblogs.com/xingzc/p/5777814.html

spring常用註解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.