【SSM直击大厂】第三章:Spring配置数据源及注解开发

简介: 目录1.Spring配置数据源1.1 数据源(连接池)的作用1.2 数据源的开发步骤 1.3 Spring配置数据源1.4 抽取jdbc配置文件配置数据源 1.5 知识要点2.Spring注解开发2.1 Spring原始注解2.2 Spring新注解

目录

1.Spring配置数据源

1.1 数据源(连接池)的作用

1.2 数据源的开发步骤

1.3 Spring配置数据源

1.4 抽取jdbc配置文件配置数据源

1.5 知识要点

2.Spring注解开发

2.1 Spring原始注解

2.2 Spring新注解

1.Spring配置数据源
1.1 数据源(连接池)的作用
数据源(连接池)是提高程序性能如出现的
事先实例化数据源,初始化部分连接资源
使用连接资源时从数据源中获取
使用完毕后将连接资源归还给数据源
常见的数据源(连接池):DBCP、C3P0、BoneCP、Druid等。

1.2 数据源的开发步骤
导入数据源的坐标和数据库驱动坐标
创建数据源对象
设置数据源的基本连接数据
使用数据源获取连接资源和归还连接资源
1.3 Spring配置数据源
可以将DataSource的创建权交由Spring容器去完成
DataSource有无参构造方法,而Spring默认就是通过无参构造方法实例化对象的
DataSource要想使用需要通过set方法设置数据库连接信息,而Spring可以通过set方法进行字符串注入






测试从容器当中获取数据源

ApplicationContext applicationContext = new
ClassPathXmlApplicationContext("applicationContext.xml");
DataSource dataSource = (DataSource) applicationContext.getBean("dataSource");
Connection connection = dataSource.getConnection();
System.out.println(connection);
1.4 抽取jdbc配置文件配置数据源
<context:property-placeholder location="classpath:jdbc.properties"/>






applicationContext.xml加载jdbc.properties配置文件获得连接信息。

首先,需要引入context命名空间和约束路径:

命名空间:xmlns:context="http://www.springframework.org/schema/context"
约束路径:http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
1.5 知识要点
Spring容器加载properties文件

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

2.Spring注解开发
2.1 Spring原始注解
Spring是轻代码而重配置的框架,配置比较繁重,影响开发效率,所以注解开发是一种趋势,注解代替xml配置文件可以简化配置,提高开发效率。 Spring原始注解主要是替代的配置。

2.2 Spring新注解
使用上面的注解还不能全部替代xml配置文件,还需要使用注解替代的配置如下

非自定义的Bean的配置:
加载properties文件的配置: <context:property-placeholder>
组件扫描的配置: <context:component-scan>
引入其他文件:
@Configuration
@ComponentScan
@Import
@Configuration
@ComponentScan("com.project")
@Import({DataSourceConfiguration.class})
public class SpringConfiguration { }
@PropertySource

@value
@PropertySource("classpath:jdbc.properties")
public class DataSourceConfiguration {
@Value("${jdbc.driver}")
private String driver;
@Value("${jdbc.url}")
private String url;
@Value("${jdbc.username}")
private String username;
@Value("${jdbc.password}")
private String password;}
@Bean
@Bean(name="dataSource")
public DataSource getDataSource() throws PropertyVetoException {
ComboPooledDataSource dataSource = new ComboPooledDataSource();
dataSource.setDriverClass(driver);
dataSource.setJdbcUrl(url);
dataSource.setUser(username);
dataSource.setPassword(password);
return dataSource; }
测试加载核心配置类创建Spring容器
@Test
public void testAnnoConfiguration() throws Exception {
ApplicationContext applicationContext = new
AnnotationConfigApplicationContext(SpringConfiguration.class);
UserService userService = (UserService)
applicationContext.getBean("userService");
userService.save();
DataSource dataSource = (DataSource)
applicationContext.getBean("dataSource");
Connection connection = dataSource.getConnection();
System.out.println(connection);

相关文章
|
3天前
|
IDE Java 开发工具
Spring Boot:加速Java后端开发的现代化利器
在当今快速迭代的软件开发环境中,Spring Boot 已成为Java后端开发领域的首选框架。作为Spring家族的一员,它以“约定优于配置”的设计理念,极大地简化了传统Spring应用的配置和部署过程,让开发者能够更加专注于业务逻辑的实现。本文将探讨Spring Boot的核心优势,并通过一个简单的示例展示如何快速启动一个基于Spring Boot的Java Web应用。
16 1
|
2天前
|
消息中间件 设计模式 监控
Spring Boot中的消息驱动开发
Spring Boot中的消息驱动开发
|
2天前
|
Java 应用服务中间件 测试技术
Spring Boot中最佳实践:数据源配置详解
Spring Boot中最佳实践:数据源配置详解
|
2天前
|
存储 Java 分布式数据库
Spring Boot中的动态数据源切换
Spring Boot中的动态数据源切换
|
2天前
|
存储 Java 数据库
Spring Boot中的动态数据源切换
Spring Boot中的动态数据源切换
|
2天前
|
消息中间件 设计模式 监控
Spring Boot中的消息驱动开发
Spring Boot中的消息驱动开发
|
3天前
|
Java 机器人 程序员
Spring Boot中的事件驱动开发
Spring Boot中的事件驱动开发
|
4天前
|
Java Nacos 微服务
Spring Cloud微服务在Windows本地开发时禁用Nacos注册中心注册
Spring Cloud微服务在Windows本地开发时禁用Nacos注册中心注册
|
5天前
|
Java 开发者 Spring
Spring 框架:Java 企业应用开发的“瑞士军刀”,一网打尽所有需求!
【6月更文挑战第25天】Spring框架是Java开发的“瑞士军刀”,以其DI(依赖注入)减少手动管理,提高效率。AOP(面向切面编程)实现非侵入式关注点分离,如日志和事务管理。@Transactional注解简化事务处理,Web支持使Web应用开发更便捷。通过这些工具,Spring解决了复杂需求,增强了代码的可维护性和性能。
|
22天前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的大学生校园兼职附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的大学生校园兼职附带文章和源代码部署视频讲解等
42 8