zoukankan      html  css  js  c++  java
  • @Configuration和@Bean 配置类注入

    @Configuration和@Bean

    1. 概述

    @Configuration 注解标记在类上, 就像下面的配置文件. 我们将该类成为配置类.

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="
           http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    
        <bean id="userService" class="com.funtl.hello.spring.service.impl.UserServiceImpl" />
    </beans>
    

    @Bean 标记在方法上, 方法的返回值相当于向SpringIOC容器注入一个Bean. 其中, 返回值相当于xml文件bean标签的class属性, 方法的名称相当于id属性. 我们的property属性被放置在了方法之中进行实现. @Bean 注解有一个属性, name属性 可以帮助我们指定Beanid的名字 .

    2. 实例

    Spring Boot实现后端Validator 验证 .

    <!-- 配置 Bean Validator 定义 -->
    <bean id="validator" class="javax.validation.Validator"/>
    <bean id="beanValidator" class="com.funtl.my.shop.commons.validator.BeanValidator">
        <property name="validator" ref="validator" />
    </bean>
    

    改成配置类

    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import pers.ycy.blog.utils.BeanValidator;
    
    import javax.validation.Validator;
    
    @Configuration
    public class AutoWired {
    
        private final Validator Validator;
        public AutoWired(Validator Validator) {
            this.Validator = Validator;
        }
        @Bean(name="beanValidator")
        public BeanValidator getBeanValidator(){
            return new BeanValidator(Validator);
        }
    }
    
    
  • 相关阅读:
    SpringCloud之初入江湖
    消息中间件RabbitMQ
    分布式搜索引擎ElasticSearch
    MongoDB简介
    SpringBoot和SpringCloud版本对应
    终于有人把Elasticsearch原理讲透了!
    nginx不停服,重新加载配置
    小程序自定义头部标题栏并且自适应各种手机屏幕(滚动头部渐隐渐现)
    Navicat链接数据库报错1130解决方案
    传统的小程序登录 和 云开发小程序登录
  • 原文地址:https://www.cnblogs.com/A-FM/p/12010261.html
Copyright © 2011-2022 走看看