springboot

1,

Spring的Java配置方式是通过 @Configuration 和 @Bean 这两个注解实现的:
对付java繁多的配置文件,底下的开发效率,复杂的部署流程,第三方集成难
采用习惯优于配置的理念,如springboot的redis配置

2,自动配置的原理

启动后SpringApplication类会加载spring.factories文件  里面是需要自动配置的类

关闭自动配置 exclude,关闭不关闭的区别呢?
以redis自动配置RedisAutoConfiguration为例
@Configuration
protected static class RedisConfiguration {

@Bean
@ConditionalOnMissingBean(name = "redisTemplate")
public RedisTemplate<Object, Object> redisTemplate(
RedisConnectionFactory redisConnectionFactory)
throws UnknownHostException {
RedisTemplate<Object, Object> template = new RedisTemplate<Object, Object>();
template.setConnectionFactory(redisConnectionFactory);
return template;
}
没有bean的时候 自动给你创建对象,即自动配置作用是给你bean 不需要自己来写代码创建bean

@ConditionalOnClass({ JedisConnection.class, RedisOperations.class, Jedis.class })
@EnableConfigurationProperties(RedisProperties.class) redis相关的属性 如port默认值6379 可显示配置覆盖
public class RedisAutoConfiguration {
没有这些类JedisConnection.class, RedisOperations.class, Jedis.class 这个自动配置就不生效

3,

使用start pom能简化maven依赖,会自动把相关的依赖加进来

4,

使用mybatis-spring整合的方式,也就是我们传统的方式
@bean
sqlsessionFactoryBean
// mapper接口的扫描器
@Bean
public MapperScannerConfigurer

posted @ 2019-04-03 15:10  song123666  阅读(107)  评论(0编辑  收藏  举报