Spring是一个从实际项目开发经验中抽取的可高度重用的应用框架。
主要思想:控制反转IOC和依赖注入DI
控制反转:就是由容器控制程序之间的关系,而非传统实现中,由程序代码直接操控,控制权有应用代码转到了外部容器,控制权的转移,即所谓的反转。
依赖注入的目标并非为软件系统带来更多的功能,而是为提升组件的重用概率,并为系统搭建一个灵活地、可扩展的平台。
<beans> <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName"> <value>java:comp/env/jdbc/sample</value> </property> </bean> <bean id="sampleDAO" class="com.hammer.dao.SpringDAO"> <property name="dataSource"><ref local="dataSource"><property> </bean> <beans>
其中sampleDAO中的dataSource将由容器在运行期动态注入,而DataSource的具体配置和初始化工作将由容器在运行期完成。
对比传统的方式(通过编码初始化DataSource实例),我们可以看到,基于依赖注入的系统实现是相当灵活简洁的,sampleDAO只需要利用容器注入的DataSource实例,完成自身的业务逻辑,而不用关心具体的资源来自何处、由谁实现。
类似于 原来是部署在webLogic中,在运行期,通过JNDI从容器中获得DataSource实例。假设部署的环境发生了变化,系统需要脱离应用服务器独立运行,这样,由于失去了容器的支持,原本通过JNDI获取的DataSource的方式失效,我们只需要简单修改dataSource的配置:
<beans> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="name"><value>org.git.mm.mysql.Driver</value></property> <property name="url"><value>jdbc:mysql://localhost/sample</value></property> <property name="username"><value>root</value></property> <property name="password"><value>root</value></property> </bean> <bean id="sampleDAO" class="com.hammer.springDAO"> <property name="dataSource" ref="dataSource"></property> </bean> </beans>
相关推荐
本教程是简单笔记记录,从零到一学习 Spring Boot。本教程涉及的知识如下: Hell World 注解的使用依赖讲解 配置文件 YAML 配置文件讲解 Profile模式 配置文件优先级 外部配置加载顺序自动配置原理 日志处理 日志...
在学习spring过程中,记录的学习过程,包括在学习时的步骤,适合初学者学习。
本人的学习笔记,记录的很详细。对于hql初学者来说是一份不可多得的学习资料。
包括前台网站内容展示系统,以及后台网站内容管理系统,采用时下最流行的 Spring Boot + Vue 的前后端分离架构。前台展示系统包括首页门户、文章展示、文章搜索、文章推荐等等模块。后台管理系统包括文章管理、统计...
Spring Boot 基础教程(基于1.3.x-1.5.x) 快速入门 chapter1:基本项目构建(可作为工程脚手架),引入web模块,完成一个简单的RESTful API 使用Intellij中的Spring Initializr来快速构建Spring Boot/Cloud工程 ...
循序渐进,学习Spring Boot、Spring Boot & Shiro、Spring Cloud、Spring Security & Spring Security OAuth2,博客Spring系列源码 一、Spring Boot教程 开启Spring Boot Spring Boot基础配置 Spring Boot中使用...
总之,JAVA毕业设计之springboot java学习平台项目(springboot完整源码+说明).zip 是一个实用的Java学乮平台项目,不仅为学习者提供了丰富的学习资源和实践机会,也为开发者提供了一个学习Spring Boot框架和...
根据网上教程,自己整理学习的一份demo,记录一下,以便以后翻阅
基于微信小程序的移动学习平台结合SSM(Spring + Spring MVC + MyBatis)框架的设计与实现,旨在为学生提供一个便捷高效的移动学习工具,具有以下主要特点: 微信小程序端: 用户友好的界面设计,符合微信小程序的...
在本教程中,我们将学习如何在一个简单的Spring MVC Web应用中集成Jasper报表工具。教程涵盖的技术点有:报表自定义数据源的使用;报表渲染、呈现的配置与实现;iReport报表设计器的使用(报表模板设计)等
平台采用SSM(Spring、SpringMVC、MyBatis)框架进行开发,具备良好的可扩展性和可维护性,可根据用户需求进行二次开发定制。 项目功能包括: 1. 用户注册与登录:用户可通过微信一键授权登录,快速成为平台会员。...
## 后台框架: SSM(SpringMVC + Spring + Mybatis) 1.用户的登录、注册、及身份验证。 2.管理员登录可对用户信息进行增删改查。 3.学习烹饪的文字介绍和视频,下方显示用户对教程的评价和建议。管理员可对用户的...
微信小程序“英语学习交流平台小程序Ssm.zip”是一款基于Spring、Spring MVC和MyBatis(SSM)框架开发的微信小程序,旨在为英语学习者提供一个便捷的学习和交流平台。该项目结合了微信小程序的便捷性和SSM框架的高效...
java-web方式演示opencv图像处理的相关知识,从安装开始,和大家一起学习记录OpenCV的相关知识如图像二值化、圆检测、直线检测、灰度直方图、形态学变换、轮廓识别、模板匹配等等,直至最终一个简单但完整DEMO的实现...
书籍展示:平台会收集和整理大量的Spring Boot相关书籍,包括教程、实战、案例等。用户可以在平台上浏览这些书籍的详细信息,如书名、作者、出版社、简介等。 在线阅读:除了展示书籍信息,平台通常还会提供部分书籍...
后台框架: SSM(SpringMVC + Spring + Mybatis) 1.用户的登录、注册、及身份验证。 2.管理员登录可对用户信息进行增删改查。 3.学习烹饪的文字介绍和视频,下方显示用户对教程的评价和建议。管理员可对用户的评论...
Spring + Spring MVC + MyBatis + MySQL+JDK1.8,页面整洁美观,有完整数据库,主要功能包括: 1、图书信息的增删改查 2、读者管理 3、图书借阅管理 4、归还管理 5、借还日志记录 6、系统权限分类图书管理员和读者 ...
本教程将详细介绍如何使用SpringMVC、Spring和MyBatis框架开发一个爱宠医院管理系统。该系统采用B/S(浏览器/服务器)架构,主要功能包括: 用户管理:包括宠物主人的注册、登录、资料管理等。 宠物档案管理:允许...
## 后台框架: SSM(SpringMVC + Spring + Mybatis) 1.用户的登录、注册、及身份验证。 2.管理员登录可对用户信息进行增删改查。 3.学习烹饪的文字介绍和视频,下方显示用户对教程的评价和建议。管理员可对用户的...
项目研究我的学习代码记录目录其他Shiro + JWT鉴权: Vue.js学习系列代码:一个简单的秒杀架构的演变:可视化DIY模板代码生成系统: 弹性搜索 Elasticsearch以及Docker化学习系列示例代码及教程 净额 Netty学习系列...