-
@Bean
註解的方法被繼承後註解依然有效,依然能夠被掃描和注入。
-
SpringBoot的測試方式
//開啓事務
@Transactional
//提供spring的測試器
@RunWith(SpringRunner.class)
//設置啓動類
@SpringBootTest(classes = TestApplication.class)
public class WxAppletInfoTest {
@Test
//回滾
@Rollback
public void saveEventTest(){
}
-
@Value
註解注入靜態變量時須要寫在非靜態的set
方法上
//須要加入 @Component 註解,不然不會掃描致使沒法注入
@Component
public class WxAppletInfo {
/** 小程序 appId */
private static String appid;
@Value("${bootx.weixin.applet.appid:}")
public void setAppid(String appid) {
WxAppletInfo.appid = appid;
}
注意: @Value
使用的是spel表達式, 設置默認值方式通常爲{取值表達式}}:[默認值]
:
是空值時注入默認值,?:
至關於三目運算符.
-
自定義配置讓yml中有提示
第一種,新建一個類set/get方法觸發提示
@Component
@ConfigurationProperties(prefix = "bootx.security.shiro")
public class ShiroConfigYml {
private boolean enable;
public boolean isEnable() {
return enable;
}
public void setEnable(boolean enable) {
this.enable = enable;
}
}
-
spring boot maven 打包插件
<build>
<plugins>
<!--spring boot插件-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!--主類的名稱。若是未指定第一個發現編譯後的類包含一個主要的方法將被使用。-->
<mainClass>cn.bootx.run.Application</mainClass>
<!--可執行jar文件名稱後綴-->
<classifier>run</classifier>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
-
spring boot maven打包時跳過測試
第一種 pom.xml中配置
<properties>
<!--跳過運行測試,maven提供的選項-->
<skipTests>true</skipTests>
</properties>
其餘
-
SpringBoot 使用AOP
- 導入spring boot的aop starter
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
- 添加
@EnableAspectJAutoProxy
開啓項目的AOP功能, @EnableAspectJAutoProxy
public class AdminAppliation {
}
- 編寫一個帶有
@Aspect
註解的切面類 @Aspect
@Component
public class WebLogAspect {
}