Springboot总结

1.Springboot是什么

Springboot是一个快速开发框架,能够帮助我们快速整合第三方常用框架

2.Springboot自动配置原理

1.在Springboot启动引导类启动时,会扫描到`@SpringbootApplication`注解,
继而扫描到其中的`@EnableAutoConfiguration`注解,这个注解就是自动配置
的关键所在。
2.在其中的`@Import`注解引入`@AutoConfigurationImportSelector`类,
调用其`selectImports()`方法,最终读取META-INF/spring.factories配置文件
运行设定好的配置类。
各个配置类根据条件注解@ConditionalXXX注解决定是否初始化配置类中的bean。

3.Springboot自定义starter演示

1.创建redis-springboor-autoconfigure项目

a.pom文件依赖

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
  <groupId>redis.clients</groupId>
  <artifactId>jedis</artifactId>
</dependency>

b.创建RedisProperties配置类

@ConfigurationProperties(prefix = "redis")
public class RedisProperties {
    private String host = "localhost";
    private int port = 6379;
    // 省略get/set方法
    作用:其他项目引入时,可以在application.yml中指定ip和端口。

c.创建RedisAutoConfiguration配置类

@Configuration
@EnableConfigurationProperties(RedisProperties.class)
@ConditionalOnClass(Jedis.class)// 已存在这个类就不会再创建了
public class RedisAutoConfiguration {
    @Bean
    @ConditionalOnMissingBean(name = "jedis")
    public Jedis jedis(RedisProperties redisProperties){
        System.out.println("创建Jedis对象。。。");
        return new Jedis(redisProperties.getHost(), redisProperties.getPort());
    }
}

d.在META-INF/spring.factories配置文件中配置信息

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.springboot.redis.RedisAutoConfiguration.
 前者固定写法,后者为自定义RedisAutoConfiguration 的全限定名。\为回车。
 有多个自动配置以 , 分割。

2.创建redis-spring-boot-starter项目

  • 引入依赖
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
    // 自定义的自动配置依赖
   <groupId>com.springboot</groupId>
   <artifactId>redis-spring-boot-autoconfigure</artifactId>
   <version>0.0.1-SNAPSHOT</version>
</dependency>

3.其他项目引入starter依赖即可使用

Springboot部署

1.打成jar包 --> 官方推荐
2.打成war包 -->打包方式改为war
	1.修改启动引导类 --> 使其继承SpringBootServletInitializer类
	2.重写configure方法
	@Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(SpringbootTestApplication.class);
    }
3.在pom文件中指定打包名称,
并防止应用上下文所导致的项目访问资源加载不到的问题

<build>
  <finalName>war包名称</finalName>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值