- 浏览: 59900 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (93)
- java (3)
- ios (9)
- wp (15)
- android (0)
- js (1)
- 服务器 (0)
- db (0)
- linux (1)
- python (0)
- xcode (0)
- ide (2)
- maven (0)
- spring (0)
- sql (0)
- 第三方 (1)
- nexus (0)
- nginx (11)
- tomcat (0)
- jenkins (0)
- zookeeper (1)
- git (1)
- svn (0)
- uml (0)
- redis (4)
- activemq (1)
- flume (0)
- kafka (0)
- mysql (1)
- memcached (0)
- mybatis (0)
- mac (0)
- mongo (1)
- docker (6)
- cache (0)
- jvm (0)
- markdown (0)
- springboot (24)
- mycat (3)
- LTS (3)
- 运维 (0)
- opts (1)
- netty (1)
- tcc (0)
- ffmpeg (2)
- 直播 (6)
- cxf (0)
- nodejs (0)
- storm (0)
- elasticjob (0)
- php (0)
最新评论
public class LinuxCondition implements Condition{
@Override
public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
return context.getEnvironment().getProperty("os.name").contains("Linux"); }
}
=============================================
public class MacCondition implements Condition{
@Override
public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
return context.getEnvironment().getProperty("os.name").contains("Mac"); }
}
=============================================
public class WindowsCondition implements Condition{
@Override
public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
return context.getEnvironment().getProperty("os.name").contains("Windows");
}
}
=============================================
@Configuration
public class MyConfiguration {
@Bean(name="emailerService")
@Conditional(WindowsCondition.class)
public Object windowsEmailerService(){
return new Object();
}
@Bean(name="emailerService")
@Conditional(LinuxCondition.class)
public Object linuxEmailerService(){
return new Object();
}
@Bean(name="emailerService")
@Conditional(MacCondition.class)
public Object macEmailerService(){
return new Object();
}
}
@Override
public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
return context.getEnvironment().getProperty("os.name").contains("Linux"); }
}
=============================================
public class MacCondition implements Condition{
@Override
public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
return context.getEnvironment().getProperty("os.name").contains("Mac"); }
}
=============================================
public class WindowsCondition implements Condition{
@Override
public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
return context.getEnvironment().getProperty("os.name").contains("Windows");
}
}
=============================================
@Configuration
public class MyConfiguration {
@Bean(name="emailerService")
@Conditional(WindowsCondition.class)
public Object windowsEmailerService(){
return new Object();
}
@Bean(name="emailerService")
@Conditional(LinuxCondition.class)
public Object linuxEmailerService(){
return new Object();
}
@Bean(name="emailerService")
@Conditional(MacCondition.class)
public Object macEmailerService(){
return new Object();
}
}
发表评论
-
springboot:tomcat启动
2017-07-20 15:02 9201.在pom.xml里设置 <packaging> ... -
springboot:shiro
2017-07-13 15:52 964第一次学习系统学习shiro 并将shiro集成到sprin ... -
springboot:upload
2017-07-06 10:25 749FileUploadConfiguration.java == ... -
springboot:servlet
2017-07-06 10:17 504Application.java ============== ... -
springboot:freemarker
2017-07-05 17:33 553pom.xml ======================= ... -
springboot:task
2017-07-05 12:11 440TaskPool.java ================= ... -
springboot:热部署
2017-07-05 11:23 351pom.xml: ====================== ... -
springboot:注解
2017-07-04 11:36 623@EnableAutoConfiguration注解 excl ... -
springboot:server属性配置
2017-07-04 10:05 748server配置 ====================== ... -
springboot:memcached
2017-07-03 17:23 924pom.xml ======================= ... -
springboot:health
2017-07-03 16:43 394<dependency> ... -
springboot:mongodb
2017-07-03 15:38 1561pom.xml ======================= ... -
springboot:quartz集群
2017-07-02 20:40 998pom.xml ======================= ... -
springboot:ControllerAdvice
2017-07-02 14:09 370全局异常拦截 //@ControllerAdvice(anno ... -
springboot:dubbo
2017-07-02 10:40 500server: ======================= ... -
springboot:amq
2017-07-01 22:20 466pom.xml ======================= ... -
springboot:redis(jedis)
2017-07-01 14:10 904application.properties ======== ... -
springboot:mybatis&druid&pagehelper
2017-07-01 13:35 409=============================== ... -
springboot:logback
2017-06-30 16:20 552=============================== ... -
springboot:interceptor
2017-06-30 14:04 630IncpConfig.java 增加拦截器config 继承W ...
相关推荐
了解了条件化配置的基本原理后,我们可以通过`springboot-condition`这个压缩包中的文件来进一步研究和实践。这些文件可能包含了示例代码或者Spring Boot自动配置的相关源码,可以帮助我们更深入地理解条件判断如何...
通过@Bean和@Condition 注解自定义对于的condition里面根据自定义的条件实现指定类注入到spring中;@ConditionalOnProperty可以根据配置文件中的 属性值不同将不同的类注入到spring中 该资源中案例完整,代码简单移动
本篇文章将详细讲解如何利用`condition`属性来控制哪些数据可以被缓存,以实现更加精细化的缓存策略。 ### 一、Spring缓存概述 Spring框架提供了一种统一的缓存抽象,支持多种缓存实现,如EhCache、Hazelcast、...
4. `Condition`和`@Conditional`:SpringBoot的条件注解机制,允许Bean的创建基于某些条件,例如类路径中是否存在某个文件或类。 四、源码学习的重要性 理解SpringBoot源码有助于开发者深入掌握其内部工作机制,...
自定义条件类需实现 Condition 接口。 六、组合注解和元注解 组合注解是 Spring Boot 中的一种机制,用于组合多个注解来实现某一个特定的功能。元注解是指对其他注解的注解,例如@EnableAsync 就是一个元注解。 ...
- 无代码生成和XML配置:使用条件注解@Condition和依赖传递解析机制。 4. **开发工具(DevTools)**: DevTools是SpringBoot的开发辅助模块,可实现热部署,即代码变更后无需重启服务器,系统会自动检测并应用...
@KafkaListener(topics = "${kafka.topic}", groupId = "${kafka.group.id}", condition = "@dynamicConsumerEnabled") public void listen(String message) { System.out.println("Received message: " + ...
- `<#if condition>`...`</#if>`:条件判断。 - `<#list items as item>`...`</#list>`:遍历列表。 - `${user?cap_first}`:首字母大写转换。 - `${date?string('yyyy-MM-dd HH:mm:ss')}`:日期格式化。 7. **...
SELECT * FROM user WHERE condition1 = #{param1} AND condition2 = #{param2} ``` 现在,我们可以在Service层中调用Mapper接口,并利用PageHelper实现分页: ```java @Service public class UserService { ...
SpringBoot事件发布与订阅机制是Spring框架中一种有效的通信方式,它基于观察者模式,使得应用程序组件可以在不直接相互依赖的情况下进行通信。本文将深入探讨ApplicationEvent、ApplicationListener以及@Event...
SpringBoot mybatis 乐观锁重试机制代码实现 顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号等机制。...
在本文中,我们将深入探讨SpringBoot的核心原理,主要包括自动配置、事件驱动和Condition。首先,让我们从SpringBoot的启动原理开始。 启动原理: SpringBoot的启动过程相对简洁,主要是因为其内置了Tomcat服务器。...
springboot 2.0+整合各种技术 点击添加springboot全系列技术交流qq群: 所有的测试用例均在springboot默认生成的测试文件夹下的测试类里 √:完结“”:正在更×:待更 模块快速预览: :常见的设计模式:观察者...
\n\n```java\n@SpringBootApplication\n@EnableCaching\npublic class SpaceAdminSystemApplication {\n public static void main(String[] args) {\n SpringApplication.run(SpaceAdminSystemApplication.class, ...
- **条件表达式**:`th:if`和`th:unless`用于条件判断,例如`th:if="${condition}"`。 - **迭代表达式**:`th:each`用于遍历集合,如`th:each="item : ${items}"`。 4. **创建Controller** - 创建一个`@...
在IT行业中,MyBatis和SpringBoot是两个非常重要的框架,它们被广泛应用于构建高效、灵活的Java web应用。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,而SpringBoot则简化了Spring应用...
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @...