標籤:執行個體 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註解綁定它傳過來的值到方法的參數上
- @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:註解在類上;為類提供一個全參的構造方法
本文轉自:http://www.cnblogs.com/xingzc/p/5777814.html
spring常用註解