整體框架是大佬給我的,我只進行了業務處理,今天初步瞭解了一下Spring Boot。不對的,請指出,共同學習,謝謝。
Spring Boot+ maven 可以進行快速開發。
在main方法中啓動一個SpringApplication,啓動方法是run方法。
默認啓動步驟:
1)創建一個合適的ApplicationContext實例,這個實例取決於classpath。
2)註冊一個CommandLinePropertySource,以spring屬性的形式來暴露命令行參數。
3)刷新ApplicationContext,加載所有的單例bean。
4)觸發所有的命令行CommanLineRunner來執行bean。
對於配置文件:application.yml
配置文件內容:
1. 不同“等級” 用冒號隔開
2. 次等級的前面是空格,不能使用製表符(tab)
3. 冒號之後如果有值,那麼冒號和值之間至少有一個空格,不能緊貼着
---------- 此爲服務配置
server:
port: 8888
spring.freemarker.view.prefix: /webapp/
spring.freemarker.suffix: .html
spring.mvc.static-path-pattern: /static/**
resource:
tmpDir: G://tmp/ #臨時文件夾
--------- 此爲數據庫連接
mysqlLink:
jdbcUrl: jdbc:mysql://127.0.0.1:3306/xx
driverClass: com.mysql.jdbc.Driver
user: a
password: a
--------- 此爲redis配置
redisConfig:
host: 127.0.0.1
port: 6379
password: zhgd
cacheName: a
添加ConcurrentHashMap(鎖分段技術)的使用環境:
1.ConcurrentHashMap允許併發的讀和線程安全的更新操作
2.在執行寫操作時,ConcurrentHashMap只鎖住部分的Map
3.併發的更新是通過內部根據併發級別將Map分割成小部分實現的,求總長度時,可能會有數據不全等問題,需要鎖住map,求size
4.高的併發級別會造成時間和空間的浪費,低的併發級別在寫線程多時會引起線程間的競爭
5.ConcurrentHashMap的所有操作都是線程安全
6.ConcurrentHashMap返回的迭代器是弱一致性,fail-safe並且不會拋出ConcurrentModificationException異常
7.ConcurrentHashMap不允許null的鍵值
8.可以使用ConcurrentHashMap代替HashTable,但要ConcurrentHashMap不會鎖住整個Map