SpringBoot中的Condition包下常用條件依賴注解案例介紹
一、@ConditionalOnClass() Spring中存在指定class對(duì)象時(shí),注入指定配置
和ConditionalOnBean()的區(qū)別在于ConditionalOnBean()是根據(jù)ioc里是否有此實(shí)例對(duì)象,而ConditionalOnClass()表示只要在Spring中有這個(gè)類就可以
1.首先引入pom依賴
<!--引入springboot父依賴--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.2.RELEASE</version> </parent> <dependencies> <!--引入啟動(dòng)器依賴--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--用json來(lái)判斷是否創(chuàng)建bean--> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.71</version> </dependency> </dependencies>
2.實(shí)體類測(cè)試對(duì)象
根據(jù)Condition返回結(jié)果表示是否將此對(duì)象注入ioc中; true:表示注入ioc
//根據(jù)Condition返回結(jié)果表示是否注入ioc中true:表示注入ioc public class Student { String name="小白"; Integer age =12; @Override public String toString() { return "Student{" + "name='" + name + '\'' + ", age=" + age + '}'; } }
3.定義@ConditionalOnClass()配置類
name = "com.alibaba.fastjson.JSON" 表示此spring中是否有這個(gè)類,有的話就注入此配置到ioc
import com.it.mhh.entry.Student; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class CustomConditionOnClass { @Bean @ConditionalOnClass(name = "com.alibaba.fastjson.JSON") //這里就是判斷是否吧此對(duì)象注入IOC,ClassCondition此類matches對(duì)象的返回的Boolean[true:創(chuàng)建,false:不創(chuàng)建] public Student getStudent() { return new Student(); } }
4.啟動(dòng)類測(cè)試
@ConditionalOnClass() Spring中存在指定class,對(duì)應(yīng)該配置才會(huì)生效
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ConfigurableApplicationContext; //@ConditionalOnClass() Spring中存在指定class,對(duì)應(yīng)該配置才會(huì)生效 @SpringBootApplication public class ConditionApplication { public static void main(String[] args) { ConfigurableApplicationContext run = SpringApplication.run(ConditionApplication.class, args); //Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'getStudent' available[表示沒(méi)有獲取到這個(gè)bean] Object getStudent = run.getBean("getStudent");//這里因?yàn)槭亲⑷雐oc時(shí) @Bean沒(méi)有指定名字,則就是方法名從ioc中獲取此對(duì)象 System.out.println(getStudent); //Student{name='小白', age=12} } }
二、注入指定配置
@ConditionalOnMissingClass() Spring中不存在指定class對(duì)象時(shí),注入指定配置
和ConditionalOnMissingBean()的區(qū)別在于ConditionalOnMissingBean()是根據(jù)ioc里沒(méi)有此實(shí)例對(duì)象,而ConditionalOnClass()表示只要在Spring中沒(méi)有這個(gè)類就可以
1.首先引入pom依賴
<!--引入springboot父依賴--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.2.RELEASE</version> </parent> <dependencies> <!--引入啟動(dòng)器依賴--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--用json來(lái)判斷是否創(chuàng)建bean--> <!--<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.71</version> </dependency>--> </dependencies>
2.實(shí)體類測(cè)試對(duì)象
根據(jù)Condition返回結(jié)果表示是否將此對(duì)象注入ioc中; true:表示注入ioc
//根據(jù)Condition返回結(jié)果表示是否注入ioc中true:表示注入ioc public class Student { String name="小白"; Integer age =12; @Override public String toString() { return "Student{" + "name='" + name + '\'' + ", age=" + age + '}'; } }
3.定義@ConditionalOnMissingClass()配置類
name = "com.alibaba.fastjson.JSON" 表示此spring中是否有這個(gè)類,有的話就==不==注入此配置到ioc
import com.it.mhh.entry.Student; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClass; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class CustomConditionOnMissingClass { @Bean @ConditionalOnMissingClass("com.alibaba.fastjson.JSON") //這里就是判斷是否吧此對(duì)象注入IOC,ClassCondition此類matches對(duì)象的返回的Boolean[true:創(chuàng)建,false:不創(chuàng)建] public Student getStudent() { return new Student(); } }
4.啟動(dòng)類測(cè)試
@ConditionalOnMissingClass Spring容器中==不存在==指定class,注入指定配置
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ConfigurableApplicationContext; //@ConditionalOnMissingClass Spring容器中不存在指定class,注入指定配置 @SpringBootApplication public class ConditionApplication { public static void main(String[] args) { ConfigurableApplicationContext run = SpringApplication.run(ConditionApplication.class, args); //Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'getStudent' available[表示沒(méi)有獲取到這個(gè)bean] Object getStudent = run.getBean("getStudent");//這里因?yàn)槭亲⑷雐oc時(shí) @Bean沒(méi)有指定名字,則就是方法名從ioc中獲取此對(duì)象 System.out.println(getStudent); //Student{name='小白', age=12} } }
三、加載指定配置
@ConditionalOnBean() 根據(jù)ioc中判斷有沒(méi)有此實(shí)例對(duì)象,有則加載指定配置
和ConditionalOnClass()的區(qū)別在于ConditionalOnClass()是根據(jù)Spring中是否有此類,而ConditionalOnBean()表示在ioc中是否由此實(shí)例對(duì)象;
1.首先引入pom依賴
<!--引入springboot父依賴--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.2.RELEASE</version> </parent> <dependencies> <!--引入啟動(dòng)器依賴--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
2.實(shí)體類測(cè)試對(duì)象
根據(jù)Condition返回結(jié)果表示是否將此對(duì)象注入ioc中; true:表示注入ioc
//根據(jù)Condition返回結(jié)果表示是否注入ioc中true:表示注入ioc public class Student { String name="小白"; Integer age =12; @Override public String toString() { return "Student{" + "name='" + name + '\'' + ", age=" + age + '}'; } }
2.1 引入條件判斷實(shí)體類
將此類==注入==ioc容器
importorg.springframework.stereotype.Component; @Component Public class BeanServer{ }
3.定義@ConditionalOnBean()配置類
BeanServer.class :判斷ioc中是否有此類對(duì)象,==有==的話就加載此配置
import com.it.mhh.customConditionOnBeanOrOnMissingBean.server.TestServer; import com.it.mhh.entry.Student; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class CustomConditionOnBean { @Bean @ConditionalOnBean(BeanServer.class) //這里就是判斷是否吧此對(duì)象注入IOC,ClassCondition此類matches對(duì)象的返回的Boolean[true:創(chuàng)建,false:不創(chuàng)建] public Student getStudent() { return new Student(); } }
4.啟動(dòng)類測(cè)試
@ConditionalOnBean() Spring容器中==存在==指定class實(shí)例對(duì)象時(shí),注入指定配置
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ConfigurableApplicationContext; //@ConditionalOnBean() Spring容器中存在指定class實(shí)例對(duì)象時(shí),注入指定配置 @SpringBootApplication public class ConditionApplication { public static void main(String[] args) { ConfigurableApplicationContext run = SpringApplication.run(ConditionApplication.class, args); //Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'getStudent' available[表示沒(méi)有獲取到這個(gè)bean] Object getStudent = run.getBean("getStudent");//這里因?yàn)槭亲⑷雐oc時(shí) @Bean沒(méi)有指定名字,則就是方法名從ioc中獲取此對(duì)象 System.out.println(getStudent); //Student{name='小白', age=12} } }
四、ioc中判斷
ConditionalOnMissingBean() 根據(jù)ioc中判斷有沒(méi)有此實(shí)例對(duì)象,沒(méi)有則加載指定配置
和ConditionalOnMissingClass()的區(qū)別在于ConditionalOnMissingClass()是根據(jù)Spring中是否有此類,而ConditionalOMissingnBean()表示在ioc中是否由此實(shí)例對(duì)象;
1.首先引入pom依賴
<!--引入springboot父依賴--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.2.RELEASE</version> </parent> <dependencies> <!--引入啟動(dòng)器依賴--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
2.實(shí)體類測(cè)試對(duì)象
根據(jù)Condition返回結(jié)果表示是否將此對(duì)象注入ioc中; true:表示注入ioc
//根據(jù)Condition返回結(jié)果表示是否注入ioc中true:表示注入ioc public class Student { String name="小白"; Integer age =12; @Override public String toString() { return "Student{" + "name='" + name + '\'' + ", age=" + age + '}'; } }
2.1 引入條件判斷實(shí)體類
==不注入==此類到ioc容器
importorg.springframework.stereotype.Component; //@Component Public class BeanServer{ }
3.定義@ConditionalOnMissingBean()配置類
BeanServer.class :判斷ioc中是否有此類對(duì)象,==沒(méi)有==的話就加載此配置
import com.it.mhh.customConditionOnBeanOrOnMissingBean.server.TestServer; import com.it.mhh.entry.Student; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; //@Configuration public class CustomConditionOnMissingBean { @Bean @ConditionalOnMissingBean(BeanServer.class) //這里就是判斷是否吧此對(duì)象注入IOC,ClassCondition此類matches對(duì)象的返回的Boolean[true:創(chuàng)建,false:不創(chuàng)建] public Student getStudent() { return new Student(); } }
4.啟動(dòng)類測(cè)試
@ConditionalOnMissingBean() Spring ioc中不存在指定class實(shí)例對(duì)象時(shí),注入指定配置
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ConfigurableApplicationContext; //@ConditionalOnMissingBean() Spring容器中不存在指定class實(shí)例對(duì)象時(shí),注入指定配置 @SpringBootApplication public class ConditionApplication { public static void main(String[] args) { ConfigurableApplicationContext run = SpringApplication.run(ConditionApplication.class, args); //Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'getStudent' available[表示沒(méi)有獲取到這個(gè)bean] Object getStudent = run.getBean("getStudent");//這里因?yàn)槭亲⑷雐oc時(shí) @Bean沒(méi)有指定名字,則就是方法名從ioc中獲取此對(duì)象 System.out.println(getStudent); //Student{name='小白', age=12} } }
五、@ConditionalOnProperty()加載配置
@ConditionalOnProperty() 配置文件中配置的指定參數(shù)值符合要求時(shí),加載此配置
與@ConditionalOnExpression()的區(qū)別在于@ConditionalOnProperty() 注解使用的是通過(guò)注解中的屬性賦值作為參照物和yml里的配置進(jìn)行匹配是否為相同;
1.首先引入pom依賴
<!--引入springboot父依賴--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.2.RELEASE</version> </parent> <dependencies> <!--引入啟動(dòng)器依賴--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
2.實(shí)體類測(cè)試對(duì)象
根據(jù)Condition返回結(jié)果表示是否將此對(duì)象注入ioc中; true:表示注入ioc
//根據(jù)Condition返回結(jié)果表示是否注入ioc中true:表示注入ioc public class Student { String name="小白"; Integer age =12; @Override public String toString() { return "Student{" + "name='" + name + '\'' + ", age=" + age + '}'; } }
3.定義@ConditionalOnProperty() 配置類
prefix = "class",name = "teacher",matchIfMissing=false, havingValue = "小黑"
==@ConditionalOnProperty()中屬性含義==
public @interface ConditionalOnProperty {String[] value() default {}; // 數(shù)組,獲取對(duì)應(yīng)yml名稱的key,與name含義一樣,不能同時(shí)使用value和name;
String prefix() default ""; //配置文件中yml名稱的前綴;String[] name() default {};// 數(shù)組,獲取對(duì)應(yīng)yml名稱的key,與value含義一樣,不能同時(shí)使用value和name;String havingValue() default ""; //配置文件yml的value值boolean matchIfMissing() default false; //配置文件yml中沒(méi)有與之匹配到的數(shù)值,是否加載,true:表示正常加載此配置,false表示如果yml中沒(méi)有此數(shù)值就不加載;}
import com.it.mhh.entry.Student; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class CustomConditionOnProperty { @Bean @ConditionalOnProperty(prefix = "class",name = "teacher",matchIfMissing=false, havingValue = "小黑") //這里就是判斷是否吧此對(duì)象注入IOC,ClassCondition此類matches對(duì)象的返回的Boolean[true:創(chuàng)建,false:不創(chuàng)建] public Student getStudent() { return new Student(); } }
4.application.yml配置
@ConditionalOnProperty()注解中的 prefix 屬性就是此yml配的前綴 yml,name就是 teacher,而havingValue 則就是'小黑',如果application中有此配置,則加載相應(yīng)配置
class: teacher: 小黑
5.啟動(dòng)類測(cè)試
@ConditionalOnProperty()配置文件中配置的指定參數(shù)值符合要求時(shí),加載此配置
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ConfigurableApplicationContext; // @ConditionalOnProperty()配置文件中配置的指定參數(shù)值符合要求時(shí),加載此配置 @SpringBootApplication public class ConditionApplication { public static void main(String[] args) { ConfigurableApplicationContext run = SpringApplication.run(ConditionApplication.class, args); //Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'getStudent' available[表示沒(méi)有獲取到這個(gè)bean] Object getStudent = run.getBean("getStudent");//這里因?yàn)槭亲⑷雐oc時(shí) @Bean沒(méi)有指定名字,則就是方法名從ioc中獲取此對(duì)象 System.out.println(getStudent); //Student{name='小白', age=12} } }
六、@ConditionalOnExpression() 配置文件
@ConditionalOnExpression() 配置文件中配置的指定參數(shù)值與我給的值比較為true時(shí),加載此配置
與@ConditionalOnProperty() 的區(qū)別在于@ConditionalOnExpression()注解使用的是SpringEL表達(dá)式與我給的值進(jìn)行匹配,為true時(shí)加載配置,而@ConditionalOnProperty() 注解使用的是通過(guò)注解中的屬性賦值作為參照物和yml里的配置進(jìn)行匹配是否為相同;
1.首先引入pom依賴
<!--引入springboot父依賴--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.2.RELEASE</version> </parent> <dependencies> <!--引入啟動(dòng)器依賴--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
2.實(shí)體類測(cè)試對(duì)象
根據(jù)Condition返回結(jié)果表示是否將此對(duì)象注入ioc中; true:表示注入ioc
//根據(jù)Condition返回結(jié)果表示是否注入ioc中true:表示注入ioc public class Student { String name="小白"; Integer age =12; @Override public String toString() { return "Student{" + "name='" + name + '\'' + ", age=" + age + '}'; } }
3.定義@ConditionalOnExpression() 配置類
"'${class.teacher}'.equals('小黑')" :Spring EL表達(dá)式 ,配置文件class.teacher里對(duì)應(yīng)的值去比較我輸入的’小黑‘是否相同,true:加載此配置;
import com.it.mhh.entry.Student; import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class CustomConditionOnExpression { @Bean //配置文件中配置的指定參數(shù)值與我要做比較的值為true時(shí),加載此配置 @ConditionalOnExpression("'${class.teacher}'.equals('小黑')") //這里就是判斷是否吧此對(duì)象注入IOC,ClassCondition此類matches對(duì)象的返回的Boolean[true:創(chuàng)建,false:不創(chuàng)建] public Student getStudent() { return new Student(); } }
4.application.yml配置
@ConditionalOnExpression()注解 value屬性就是此配置的鍵 class.teacherg 而獲取到的值就是’小黑‘,然后進(jìn)行比較, true則加載相應(yīng)配置
class: teacher: 小黑
5.啟動(dòng)類測(cè)試
@ConditionalOnExpression()//配置文件中配置的指定參數(shù)值與我傳的參數(shù)進(jìn)行比較,如果相同則為true,加載此配置,否則不加載
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ConfigurableApplicationContext; // @ConditionalOnExpression()//配置文件中配置的指定參數(shù)值與我傳的參數(shù)比較,相同為true時(shí),加載此配置 @SpringBootApplication public class ConditionApplication { public static void main(String[] args) { ConfigurableApplicationContext run = SpringApplication.run(ConditionApplication.class, args); //Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'getStudent' available[表示沒(méi)有獲取到這個(gè)bean] Object getStudent = run.getBean("getStudent");//這里因?yàn)槭亲⑷雐oc時(shí) @Bean沒(méi)有指定名字,則就是方法名從ioc中獲取此對(duì)象 System.out.println(getStudent); } }
七、@ConditionalOnResource() 指定的資源文件出現(xiàn)在classpath中生效
(就是編譯后target里classes里的路徑名是否存在)
指定文件路徑名存在時(shí),對(duì)應(yīng)配置生效
1.首先引入pom依賴
<!--引入springboot父依賴--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.2.RELEASE</version> </parent> <dependencies> <!--引入啟動(dòng)器依賴--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
2.實(shí)體類測(cè)試對(duì)象
根據(jù)Condition返回結(jié)果表示是否將此對(duì)象注入ioc中; true:表示注入ioc
//根據(jù)Condition返回結(jié)果表示是否注入ioc中true:表示注入ioc public class Student { String name="小白"; Integer age =12; @Override public String toString() { return "Student{" + "name='" + name + '\'' + ", age=" + age + '}'; } }
3.定義@ConditionalOnResource()配置類
resources = "com\it\mhh" :編譯后taget->classes里的路徑名是否存在,存在為true,加載配置
import com.it.mhh.entry.Student; import org.springframework.boot.autoconfigure.condition.ConditionalOnResource; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class CustomConditionOnResource { @Bean //指定的資源文件出現(xiàn)在classpath中生效(就數(shù)編譯后target里classes里的包路徑) @ConditionalOnResource(resources = "com\\it\\mhh") //這里就是判斷是否吧此對(duì)象注入IOC,ClassCondition此類matches對(duì)象的返回的Boolean[true:創(chuàng)建,false:不創(chuàng)建] public Student getStudent() { return new Student(); } }
4.啟動(dòng)類測(cè)試
@ConditionalOnResource()//指定的資源文件出現(xiàn)在classpath中生效(就數(shù)編譯后target里classes里的包路徑)
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ConfigurableApplicationContext; @SpringBootApplication //@ConditionalOnResource()//指定的資源文件出現(xiàn)在classpath中生效(就數(shù)編譯后target里classes里的包路徑) public class ConditionApplication { public static void main(String[] args) { ConfigurableApplicationContext run = SpringApplication.run(ConditionApplication.class, args); //Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'getStudent' available[表示沒(méi)有獲取到這個(gè)bean] Object getStudent = run.getBean("getStudent");//這里因?yàn)槭亲⑷雐oc時(shí) @Bean沒(méi)有指定名字,則就是方法名從ioc中獲取此對(duì)象 System.out.println(getStudent); } }
到此這篇關(guān)于SpringBoot中的Condition包下常用條件依賴注解案例介紹的文章就介紹到這了,更多相關(guān)SpringBoot條件依賴注解內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決@Validated注解無(wú)效,嵌套對(duì)象屬性的@NotBlank無(wú)效問(wèn)題
這篇文章主要介紹了解決@Validated注解無(wú)效,嵌套對(duì)象屬性的@NotBlank無(wú)效問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10Java用Arrays.fill()初始化二維數(shù)組的實(shí)現(xiàn)
這篇文章主要介紹了Java用Arrays.fill()初始化二維數(shù)組的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01mybatis查詢實(shí)現(xiàn)返回List<Map>類型數(shù)據(jù)操作
這篇文章主要介紹了mybatis查詢實(shí)現(xiàn)返回List<Map>類型數(shù)據(jù)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11java 日志的數(shù)據(jù)脫敏的實(shí)現(xiàn)方法
今日給大家介紹一下java 日志的數(shù)據(jù)脫敏的實(shí)現(xiàn)方法,可以更好的保護(hù)數(shù)據(jù)的安全,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01詳解Spring中Bean的生命周期和作用域及實(shí)現(xiàn)方式
這篇文章主要給大家介紹了Spring中Bean的生命周期和作用域及實(shí)現(xiàn)方式的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-03-03spring使用aspect注解切面不起作用的排查過(guò)程及解決
這篇文章主要介紹了spring使用aspect注解切面不起作用的排查過(guò)程及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06解決@Around對(duì)靜態(tài)方法不生效的問(wèn)題
這篇文章主要介紹了解決@Around對(duì)靜態(tài)方法不生效的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02