Spring-第三方资源配置管理

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: Spring-第三方资源配置管理

✨druid

✨导入druid坐标

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

✨配置数据源对象作为Spring管理的Bean

<bean id="datasource" class="com.alibaba.druid.pool.DruidDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
        <property name="url" value="jdbc:mysql://localhost:3306/spring"></property>
        <property name="username" value="root"></property>
        <property name="password" value="root"></property>
    </bean>

✨c3p0

✨导入c3p0坐标

<dependency>
            <groupId>c3p0</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.1.2</version>
        </dependency>

✨配置数据源对象

<bean id="c3p0" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="com.mysql.jdbc.Driver"></property>
        <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/spring"></property>
        <property name="user" value="root"></property>
        <property name="password" value="root"></property>
    </bean>

✨加载properties

首先在resource资源包下创建jdbc.properties
jdbc.properties:

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/spring
jdbc.username=root
jdbc.password=root

✨开启context命名空间

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
            https://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/context
            https://www.springframework.org/schema/context/spring-context.xsd">

✨使用context命名空间,加载指定的properties文件

 <context:property-placeholder location="jdbc.properties"></context:property-placeholder>

✨使用${}读取加载的属性值

<bean id="datasource" class="com.alibaba.druid.pool.DruidDataSource">
        <property name="driverClassName" value="${jdbc.driver}"></property>
        <property name="url" value="${jdbc.url}"></property>
        <property name="username" value="${jdbc.username}"></property>
        <property name="password" value="${jdbc.password}"></property>
    </bean>

✨注意

  • 不加载系统属性
<context:property-placeholder location="jdbc.properties" system-properties-mode="NEVER"/>
  • 加载多个properties文件
<context:property-placeholder location="jdbc.properties,msg.properties"/>
  • 加载所有properties文件
<context :property-placeholder location="*.properties" />
  • 加载properties文件标准格式
<context:property-placeholder location="classpath:*.properties" />·
  • 从类路径或jar包中搜索并加载properties文件
<context: property-placeholder location="classpath*: *. properties"/>

✨容器总结

✨Bean相关

<bean
//bean的Id
id="bookDao"
//bean别名
name="dao bookDaoImpl daoImpl"
//bean类型,静态工厂类,FactoryBean类
class="com.jkj.dao.imp1.BookDaoImpl"
//控制bean的实例数量
scope="singleton"
//生命周期初始化方法
init-method="init"
//生命周期销毁方法
destroy-method="destory"
//自动装配类型
autowire="byType"
//bean工厂方法,应用于静态工厂或实例工厂
factory-method="getInstance"
//实例工厂bean
factory-bean=" com.jkj.factory .BookDaoFactory"
//控制bean延迟加载
lazy-init="true"
/>

✨依赖注入

<bean id="bookService" class="com.jkj.service.impl.BookServiceImpl">
//构造器注入引用类型
<constructor-arg name="bookDao" ref="bookDao" / >

<constructor-arg name="userDao" ref="userDao" />
//构造器注入简单类型
<constructor-arg name="msg" value="WARN" />
//类型匹配与索引匹配
<constructor-arg type="java.lang,String" index="3" value="WARN" />
//setter注入引用类型
<property name="bookDao" ref="bookDao" / >

<property name="userDao" ref="userDao" / >
//setter注入简单类型
<property name="msg" value="WARN" />
//setter注入集合类型
<property name="names">
//list集合
<list>
//集合注入简单类型
<value>itcast</value>
//集合注入引用类型
<ref bean="dataSource" />
</list>
</ property>
</bean>
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
安全 Java Spring
Spring Security OAuth 资源服务器认证浅析
【1月更文挑战第18天】之前的几篇文章介绍了如何进行用户认证并向客户端分发 Token,以及 Token 是如何生成的,这篇分析一下,当客户端拿着 Token 去访问资源的时候,资源服务器是如何验证 Token 是否合法的。
55 2
|
5月前
|
Java 数据库 Spring
【Spring】资源操作管理:Resource、ResourceLoader、ResourceLoaderAware;
【Spring】资源操作管理:Resource、ResourceLoader、ResourceLoaderAware;
51 1
|
5月前
|
XML Java 数据格式
Spring注解开发管理第三方bean及依赖注入
Spring注解开发管理第三方bean及依赖注入
57 0
|
4天前
|
Java 开发者 Spring
Spring Boot中的资源文件属性配置
【4月更文挑战第28天】在Spring Boot应用程序中,配置文件是管理应用程序行为的重要组成部分。资源文件属性配置允许开发者在不重新编译代码的情况下,对应用程序进行灵活地配置和调整。本篇博客将介绍Spring Boot中资源文件属性配置的基本概念,并通过实际示例展示如何利用这一功能。
14 1
|
6月前
|
缓存 安全 算法
Spring Security OAuth 2.0 资源服务器— JWT
Spring Security OAuth 2.0 资源服务器— JWT
245 1
|
3月前
|
存储 Java Maven
SpringCloud Oauth2.0 实现资源验证
SpringCloud Oauth2.0 实现资源验证
38 0
|
3月前
|
XML Java 数据格式
掌握Spring Environment:配置管理的关键
掌握Spring Environment:配置管理的关键
32 1
|
4月前
|
druid Java 数据库连接
从入门到精通:掌握Spring IOC/DI配置管理第三方bean的技巧
从入门到精通:掌握Spring IOC/DI配置管理第三方bean的技巧
|
4月前
|
前端开发 Java Spring
Spring5源码(14)-Spring资源文件读取
Spring5源码(14)-Spring资源文件读取
25 1
|
4月前
|
XML Java 数据格式
spring之资源操作:Resources
【1月更文挑战第17天】 一、Spring Resources概述 二、Resource接口 三、Resource的实现类 1、UrlResource访问网络资源 2、ClassPathResource 访问类路径下资源 3、FileSystemResource 访问文件系统资源 4、ServletContextResource 5、InputStreamResource 6、ByteArrayResource 四、Resource类图 五、ResourceLoader 接口 1、ResourceLoader 概述 2、使用演示 3、ResourceLoader 总结 六、ResourceLo
74 1