zoukankan      html  css  js  c++  java
  • SpringBoot基础,Java配置(全注解配置)取代xml配置

    这节讲一下SpringBoot的学习必须的一些基础,Java配置。其实在Spring2.0时代就已经有注解配置了,但是开发人员还是喜欢注解和xml混合配置,当SpringBoot出来后,这个全注解配置,即Java配置就成为主流。

    讲一个例子
    在SpringMVC+Spring+Mybatis框架整合时,必须注入IOC容器的时一个数据库连接池,因此做过SSM架构搭建的人都知道要配置以下

    <!-- 配置连接池 -->
        <bean id="dataSource" class="com.alibab.druid.pool.DruidDataSource">
            <property name="driverClassName" value="${jdbc.driver}"/>
            <property name="url" value="${jdbc.url}"/>
            <property name="username" value="${jdbc.username}"/>
            <property name="password" value="${jdbc.password}"/>
        </bean>
    

    在SpringBoot中如何通过Java配置把其中注入呢(这边只是讲个例子,SpringBoot有整合了Mybatis依赖,因此不需要我们自己注入,不过大家可以通过这个例子来进行注入一些SpringBoot没提供的整合依赖包)

    比较常用的注解有下面有:
    @Configuration:声明一个类作为配置类,代替xml文件
    @Bean : 声明在方法上,其返回值注入到Bean容器中,默认id为方法名
    @Value : 属性注入
    @Property:指定外部属性文件

    导入Druid的依赖

    <dependency>
       <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.1.6</version>
    </dependency>
    

    如果Spring2.0学过注解配置的话,其实通过这些就可配置了,编写一个JdbcConfig类

    @Configuration
    @PropertySource("classpath:jdbc.properties")
    public class JdbcConfig {
    
        @Value("{#jdbc.driverClassName}")
        private String driverClassName;
        @Value("{#jdbc.url}")
        private String url;
        @Value("{#jdbc.username}")
        private String username;
        @Value("{#jdbc.password}")
        private String password;
    
        @Bean
        public DataSource dataSource() {
            DruidDataSource dataSource = new DruidDataSource();
            dataSource.setDriverClassName(driverClassName);
            dataSource.setUrl(url);
            dataSource.setUsername(username);
            dataSource.setPassword(password);
            return dataSource;
        }
    }
    

    编写一个jdbc.properties文件
    在这里插入图片描述
    这边只是测试注入,因此没必要真的链接数据库,只有看到注入成功就行,在测试类中测试注入情况。通过打断点debu运行,发现注入成功。
    在这里插入图片描述
    SpringBoo提供了更加优雅的配置,SpringBoot的核心配置文件application.properties
    因此删去jdbc.properties,在application.properties在添加相应的内容
    修改jdbcConfig类,使用 @ConfigurationProperties注解

    
    @Configuration
    //@PropertySource("classpath:jdbc.properties")
    public class JdbcConfig {
    
    
        @Bean
        @ConfigurationProperties(prefix = "jdbc")
        public DataSource dataSource() {
            return new DruidDataSource();
        }
    }
    
    

    在这里插入图片描述

    再次测试也成功,是不是特别简单的注入。

  • 相关阅读:
    内存、时间复杂度、CPU/GPU以及运行时间
    内存、时间复杂度、CPU/GPU以及运行时间
    四叉树问题
    四叉树问题
    基于深度学习的人脸识别系统(Caffe+OpenCV+Dlib)【三】VGG网络进行特征提取
    爬楼梯问题种种
    爬楼梯问题种种
    Python 在线笔试
    基于深度学习的人脸识别系统(Caffe+OpenCV+Dlib)【二】人脸预处理
    标准模板库 STL 使用之 —— vector 使用 tricks
  • 原文地址:https://www.cnblogs.com/ryyy/p/14227793.html
Copyright © 2011-2022 走看看