如何实现自动配置弹簧引导框架

  介绍

本篇文章为大家展示了如何实现自动配置弹簧引导框架,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

<强> 1,新建起动器的Maven项目

我这里以IntelliJ IDEA创建项目为例,其实很简单,创建一个Maven项目,但是注意创建的时候选择快速入门,步骤如下:

如何实现自动配置弹簧引导框架”>,<br/> </p> <p> <img src= & lt; dependency>   & lt; groupId> org.springframework.boot   & lt; artifactId> spring-boot-autoconfigure   & lt; version> 1.4.2.RELEASE   & lt;/dependency>

<强> 3。属性配置

 @ConfigurationProperties(前缀=癶ello")
  公开课HelloServiceProperties {
  私有静态最终字符串味精=皐orld";
  私人字符串味精=味精;
  
  公共字符串getMsg () {
  返回味精;
  }
  
  公共空间setMsg(字符串味精){
  这一点。味精=味精;
  }
  }

这里就是一个简单的类,和上篇博客中我们提到的类型安全的属性获取是一致的,这里属性的值我们可以在application.properties中来直接设置,如果不设置的话默认为世界。

<强> 4。判断依据类

公共类HelloService {
  私人字符串味精;
  公共字符串sayHello () {
  返回“你好“+味精;
  }
  
  公共字符串getMsg () {
  返回味精;
  }
  
  公共空间setMsg(字符串味精){
  这一点。味精=味精;
  }
  }

我们一会的例子就是根据这个类是否存在来创建这个类的Bean,当然这个类也可以是第三方类库。

<强> 5。自动配置类

@ configuration   @EnableConfigurationProperties (HelloServiceProperties.class)   @ConditionalOnClass (HelloService.class)   @ConditionalOnProperty(前缀=癶ello"、价值=https://www.yisu.com/zixun/捌粲谩?matchIfMissing=true)   公开课HelloServiceAutoConfiguration {   @ autowired   私人HelloServiceProperties HelloServiceProperties;   @ bean   公共HelloService HelloService () {   HelloService HelloService=new HelloService ();   helloService.setMsg (helloServiceProperties.getMsg ());   返回helloService;   }   }

这里@ConditionalOnClass注解主要是用来判断HelloService这个类在路径中是否存在,在存在且容器中没有该类的Bean的情况下系统会自动配置需要的Bean, @ConditionalOnProperty注解则表示指定的属性要满足的条件,在HelloService方法中我们则使用了HelloServiceProperties提供的参数。

<强> 6。注册配置

在资源目录下新建meta - inf目录,然后在meta - inf目录下创建春。工厂文件,文件内容如下,表示设置自动配置类的位置,若有多个配置类用”、“隔开即可。

代码如下:
org.springframework.boot.autoconfigure.EnableAutoConfiguration=org.sang。HelloServiceAutoConfiguration

正常情况下我们按步骤一创建出来的项目是没有资源这个文件夹的,在IntelliJ IDEA这个工具中,我们需要先创建一个目录,然后将之设置为资源根即可,设置方式如下:选中资源目录右键单击-》马克目录》资源根。

<强> 7。在项目中使用

好的,经过上面几个步骤我们的自动配置功能就算死写好了,接下来我们要在自己的项目中来使用它了,正常情况下做好自动配置类之后我们需要将之上传到maven私服上然后直接在项目中引用,也可以将之安装到本地库,这里我选择后者的一个简化方式,直接创建模块来引用这个自动配置模块(如果小伙伴是用STS或者MyEclipse之类的开发工具直接创建新工程然后添加引用类库即可)。

创建模块方式很简单,选中刚才的项目右键单击,新的一个模块,这个模块是一个SpringBoot项目(不清楚怎么创建SpringBoot项目可以查看这篇文章初识弹簧引导框架),创建成功之后选择新建的模块按F4打开模块设置,然后选择右边的加号添加依赖,如下:

如何实现自动配置弹簧引导框架