1.數字的簡單運算 常用運算符 +, -, *, /, %, //,** = 就是賦值運算符,在變數介紹中已提及過,a=13; 這裡要說下賦值運算符的參數運算, +=, -=, *=, /=, //=, %= a += b --> a = a + b 參數賦值可以使代碼更整潔,可讀性更強 b,kb, ...
@Configuration(proxyBeanMethods = false) //告訴SpringBoot這是一個配置類 == 配置文件 public class MyConfig { @Bean //給容器中添加組件。以方法名作為組件的id。返回類型就是組件類型。返回的值,就是組件在容器中的實例 public User user01(){ User zhangsan = new User("zhangsan", 18); //user組件依賴了Pet組件 zhangsan.setPet(tomcatPet()); return zhangsan; }
上述代碼@Configuration(proxyBeanMethods = true)表示使用代理對象調用方法。SpringBoot總會檢查這個組件是否在容器中有,如果有就直接拿,沒有再創建。(單例模式)
public static void main(String[] args) { SpringApplication.run(MainApplication.class, args); User user = bean.user01(); User user1 = bean.user01(); System.out.println(user == user1); 返回為true }
如果@Configuration(proxyBeanMethods = false) 則會拿到兩個不同的對象。
System.out.println(user == user1); 返回為false
兩種開發模式
Full:全模式(proxyBeanMethods = true)
每一次外界調用組件,springboot都會檢查容器中是否已經存在該組件,效率低
Lite:輕量級模式(proxyBeanMethods = false)
優點:springboot不會來檢查方法返回的組件在容器中有沒有,啟動非常快
所以,建議以下兩條:
配置類組件之間無依賴管子用Lite模式加速容器啟動過程,減少判斷
配置類組件之間有依賴關係,方法會被調用得到之前的單實例組件,用Full模式