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-10
Java用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-01
mybatis查詢實(shí)現(xiàn)返回List<Map>類型數(shù)據(jù)操作
這篇文章主要介紹了mybatis查詢實(shí)現(xiàn)返回List<Map>類型數(shù)據(jù)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11
java 日志的數(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-03
spring使用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

