Xbox遊玩部分遊戲會關機 微軟表示正在調查中
Spring部分
1.宣告bean的註解
@Component元件,沒有明確的角色
@Service在業務邏輯層使用(service層)
@Repository在資料訪問層使用(dao層)
@Controller在展現層使用,控制器的宣告(C)
2.注入bean的註解
@Autowired:由Spring提供
@Qualifier (與@Autowired搭配按名稱)
@Resource:由JSR-250提供
都可以註解在set方法和屬性上,推薦註解在屬性上(一目瞭然,少寫程式碼)。
3.java配置類相關注解
@Configuration聲明當前類為配置類,相當於xml形式的Spring配置(類上)
@Bean註解在方法上,聲明當前方法的返回值為一個bean,替代xml中的方式(方法上)
@Configuration聲明當前類為配置類,其中內部組合了@Component註解,表明這個類是一個bean(類上)
@ComponentScan用於對Component進行掃描,相當於xml中的(類上)
@WishlyConfiguration為@Configuration與@ComponentScan的組合註解,可以替代這兩個註解
4.切面(AOP)相關注解
Spring支援AspectJ的註解式切面程式設計。
@Aspect宣告一個切面(類上)
使用@After、@Before、@Around定義建言(advice),可直接將攔截規則(切點)作為引數。
@After在方法執行之後執行(方法上)
@Before在方法執行之前執行(方法上)
@Around在方法執行之前與之後執行(方法上)
@PointCut宣告切點
在java配置類中使用@EnableAspectJAutoProxy註解開啟Spring對AspectJ代理的支援(類上)
5.@Bean的屬性支援
@Scope設定Spring容器如何新建Bean例項(方法上,得有@Bean)
其設定型別包括:
Singleton (單例,一個Spring容器中只有一個bean例項,預設模式),
Protetype (每次呼叫新建一個bean),
Request (web專案中,給每個http request新建一個bean),
Session (web專案中,給每個http session新建一個bean),
GlobalSession(給每一個 global http session新建一個Bean例項)
@StepScope在Spring Batch中還有涉及
@PostConstruct由JSR-250提供,在建構函式執行完之後執行,等價於xml配置檔案中bean的initMethod
@PreDestory由JSR-250提供,在Bean銷燬之前執行,等價於xml配置檔案中bean的destroyMethod
6.@Value註解
@Value為屬性注入值(屬性上)
支援如下方式的注入:
》注入普通字元
- Stringname;
》注入作業系統屬性
- @Value("#{systemProperties['os.name']}")
- StringosName;
》注入表示式結果
- @Value("#{T(java.lang.Math).random() *100}")
- StringrandomNumber;
》注入其它bean屬性
- @Value("#{domeClass.name}")
- Stringname;
》注入檔案資源
- StringResource file;
》注入網站資源
- Resource url;
》注入配置檔案
- StringbookName;
注入配置使用方法:
① 編寫配置檔案(test.properties)
book.name=《三體》
② @PropertySource 載入配置檔案(類上)
@PropertySource("classpath:com/hgs/hello/test/test.propertie")
③ 還需配置一個PropertySourcesPlaceholderConfigurer的bean。
7.環境切換
@Profile通過設定Environment的ActiveProfiles來設定當前context需要使用的配置環境。(類或方法上)
@ConditionalSpring4中可以使用此註解定義條件話的bean,通過實現Condition介面,並重寫matches方法,從而決定該bean是否被例項化。(方法上)
8.非同步相關
@EnableAsync配置類中,通過此註解開啟對非同步任務的支援,敘事性AsyncConfigurer介面(類上)
@Async在實際執行的bean方法使用該註解來申明其是一個非同步任務(方法上或類上所有的方法都將非同步,需要@EnableAsync開啟非同步任務)
9.定時任務相關
@EnableScheduling在配置類上使用,開啟計劃任務的支援(類上)
@Scheduled來申明這是一個任務,包括cron,fixDelay,fixRate等型別(方法上,需先開啟計劃任務的支援)
10.@Enable*註解說明
這些註解主要用來開啟對xxx的支援。
@EnableAspectJAutoProxy開啟對AspectJ自動代理的支援
@EnableAsync開啟非同步方法的支援
@EnableScheduling開啟計劃任務的支援
@EnableWebMvc開啟Web MVC的配置支援
@EnableConfigurationProperties開啟對@ConfigurationProperties註解配置Bean的支援
@EnableJpaRepositories開啟對SpringData JPA Repository的支援
@EnableTransactionManagement開啟註解式事務的支援
@EnableTransactionManagement開啟註解式事務的支援
@EnableCaching開啟註解式的快取支援
11.測試相關注解
@RunWith執行器,Spring中通常用於對JUnit的支援
@ContextConfiguration用來載入配置ApplicationContext,其中classes屬性用來載入配置類
- public class KjtTest {
- private static Logger logger = LoggerFactory.getLogger("KjtTest");
- Service service;
- public void test() {
- }
- }