相关 知识 >>>

相关 练习 >>>

实现要求:

使用Properties类型注入方式,注入MySQL数据库连接的基本信息,然后使用JDBC方式连接数据库,模拟执行业务代码后释放资源,最后在控制台输出打印结果。

要求如下:

  • 数据库连接信息使用Properties类型注入。
  • 使用JDBC方式连接数据库。 数据源获取结果打印到控制台。

实现思路:

引入MySQL驱动jar包。

在com.mhys.demo.pojo包下创建DataSource类,添加Properties类型属性。

package com.mhys.demo.pojo;

import java.util.Map;
import java.util.Properties; public class DataSource {
private Map<String, String> map;
private Properties properties; @Override
public String toString() {
return "DataSource [map=" + map + "]";
} public Properties getProperties() {
return properties;
} public void setProperties(Properties properties) {
this.properties = properties;
} public Map<String, String> getMap() {
return map;
} public void setMap(Map<String, String> map) {
this.map = map;
} }

在applicationContext.xml配置文件中注册DataSource类到容器。

	<bean id="dataSource" class="com.mhys.demo.pojo.DataSource">
<property name="Properties">
<props>
<prop key="driverClassName">com.mysql.jdbc.Driver</prop>
<prop key="url">jdbc:mysql://locahost:3306/goods</prop>
<prop key="username">root</prop>
<prop key="password">123456</prop>
</props>
</property>
</bean>

在com.mhys.demo.service包下创建JdbcService类,添加DataSource类型属性,声明getConnection()方法和close()方法。

package com.zn.mhys.demo.service;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException; import com.mhys.demo.pojo.DataSource; public class JdbcService {
private DataSource dataSource; public Connection getConnection(){
Connection conn = null;
String url = (String) dataSource.getProperties().get("url");
String username = (String) dataSource.getProperties().get("username");
String password = (String) dataSource.getProperties().get("password");
try {
Class.forName(dataSource.getProperties().getProperty("driverClassName"));
conn = (Connection)DriverManager.getConnection(url, username, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
public void close(Connection conn){
if (conn!=null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
System.out.println("连接释放成功!");
}
} }

在applicationContext.xml配置文件中注册JdbcService类到容器。

	<bean id="jdbcService" class="com.zn.mhys.demo.service.JdbcService">
<property name="dataSource" ref="dataSource"></property>
</bean>

在com.mhys.demo.test包下创建Test测试类。

package com.zn.mhys.demo.test;

import java.sql.Connection;

import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.core.io.ClassPathResource; import com.zn.mhys.demo.service.JdbcService; public class Test { public static void main(String[] args) { ClassPathResource resource = new ClassPathResource("applicationContext.xml");
XmlBeanFactory context = new XmlBeanFactory(resource); // 2.2.5
JdbcService jdbcService = (JdbcService) context.getBean("jdbcService");
Connection connection = jdbcService.getConnection();
if (connection!=null) {
System.out.println("获取数据库连接成功!");
}
System.out.println("义务代码执行成功!");
jdbcService.close(connection); } }

Spring练习,使用Properties类型注入方式,注入MySQL数据库连接的基本信息,然后使用JDBC方式连接数据库,模拟执行业务代码后释放资源,最后在控制台输出打印结果。的更多相关文章

  1. spring List,Set,Map,Properties,array的配置文件注入方式

    虽然不多,但是有时候在实现的时候,我们还是希望某些参数或者属性通过集合()的方式注入进来,比如配置表参数列表,addresslist,亦或是三方库等等.因为这种改动不是很多,经常一时想不起来,今天做个 ...

  2. Spring:(二)DI依赖注入方式

    DI 依赖注入 DI(Dependency Injection)依赖注入,说简单一点就将类里面的属性在创建类的过程中给属性赋值,即将对象依赖属性(简单值,集合,对象)通过配置设值给该对象. 属性注入的 ...

  3. Spring学习总结(5)——IOC注入方式总结

    一.构造注入 在类被实例化的时候,它的构造方法被调用并且只能调用一次.所以它被用于类的初始化操作.<constructor-arg>是<bean>标签的子标签.通过其<v ...

  4. spring的依赖注入的四种方式,数组与集合注入;引用注入;内部bean注入

    三种注入方式 第一种: 基于构造函数 hi.java (bean) package test_one; public class hi { private String name; public hi ...

  5. 【spring set注入 注入集合】 使用set注入的方式注入List集合和Map集合/将一个bean注入另一个Bean

    Dao层代码: package com.it.dao; public interface SayHell { public void sayHello(); } Dao的Impl实现层: packag ...

  6. Spring学习笔记之 Spring IOC容器(一)之 实例化容器,创建JavaBean对象,控制Bean实例化,setter方式注入,依赖属性的注入,自动装配功能实现自动属性注入

    本节主要内容:       1.实例化Spring容器示例    2.利用Spring容器创建JavaBean对象    3.如何控制Bean实例化    4.利用Spring实现bean属性sett ...

  7. Spring、基本类型属性和集合类型属性的注入

    Spring 还可以对基本属性和集合类型属性进行注入: public interface PersonIService { public String getBaseProperty(); publi ...

  8. spring注解方式注入

    1.通过Resource注入 1.在属性上注入 1.默认注入 即不指定spring容器里面的名字 匹配规则:先通过属性的名字查找 再通过属性类型与实现类类型匹配查找 当有两个实现类会报错 2.通过指定 ...

  9. spring注解方式注入bean

    用注解的方式注入bean,spring的配置文件也要增加一些约束和导入注解所在的包 applicationContext.xml <?xml version="1.0" en ...

随机推荐

  1. npm下载错误解决办法

    解决办法:删除npmrc文件. 使用镜像 镜像使用方法(三种办法任意一种都能解决问题,建议使用第三种,将配置写死,下次用的时候配置还在):1.通过config命令12npm config set re ...

  2. Sharding-JDBC 简介

    什么是Sharding-JDBC 1.是轻量级的 java 框架,是增强版的 JDBC 驱动2. Sharding-JDBC(1)主要目的是:简化对分库分表之后数据相关操作.不是帮我们做分库分表,而是 ...

  3. ssh : connect to host XXX.XXX.XXX.XXX port : 22 connect refused

    初学者 写博客 如有不对之处请多多指教 我是要在俩个主机的俩个虚拟机上 用scp (security copy)进行文件远程复制. 但是 终端 提示 ssh : connect to host XXX ...

  4. Linux学习 - 文件系统常用命令

    一.文件系统查看命令df df [选项] [挂载点] -a 查看所有文件系统信息,包括特殊文件系统 -h 使用习惯单位显示容量 -T 显示文件系统类型 -m 以MB为单位显示容量 -k 以KB为单位显 ...

  5. vue-cli4脚手架搭建二

    vue-cli4脚手架搭建一 vue create vue3 cd vue3 yarn serve http://localhost:8080/#/ main.js文件 import Vue from ...

  6. mysq中char,varchar,text的区别

    mysql5.0.3以后,n都表示字符数(varchar(n)) 检索效率 char > varchar > text 当varchar长度超过255之后,跟text一致,但是设置varc ...

  7. 如何利用EL表达式获取list,map,对象等值

    <%@ page import="com.hopetesting.domain.User" %><%@ page import="java.util.* ...

  8. Sqlite 常用操作及使用EF连接Sqlite

    Sqlite是一个很轻,很好用的数据库.兼容性很强,由于是一款本地文件数据库,不需要安装任何数据库服务,只需引入第三方开发包就可以.Sqlite的处理速度比MySql和PostgreSQL更快,性能很 ...

  9. centos部署golang环境

    目录 一.简介 二.部署 一.简介 Go语言(或 Golang)起源于 2007 年,并在 2009 年正式对外发布.Go 是非常年轻的一门语言,它的主要目标是"兼具 Python 等动态语 ...

  10. MySQL如何使用coalesce函数

    coalesce(a,b,c); 参数说明:如果a==null,则选择b:如果b==null,则选择c:如果a!=null,则选择a:如果a b c 都为null ,则返回为null(没意义)