初认Spring
官网地址:https://spring.io/
Spring Framework的系统架构
1、Core Contiainer:核心容器
2、AOP:面向切片编程
3、Aspects:AOP思想实现
4、Data Access:数据访问
5、Data Integration:数据集成
6、Web:web开发
7、Test:单元测试与集成测试
第一部分------1、核心容器(容器的基本操作)
第二部分------4、5、
第三部分------2、3、
第四部分------Transactions(事务)
Spring核心概念
为了避免代码耦合度偏高的问题,提出IoC的思想,将控制权转移到外部,简称“控制反转”
而Spring提供了这样一个容器,叫做IoC容器,用来充当IoC思想中的外部
在IoC容器内,将有依赖关系的bean进行关系绑定,称作“依赖注入”------DI
以达到“充分解耦”的目标!
IoC案例
1、导包:

导入之后,记得更新一下
2、在resources里面新建一个Spring类型的.xml文件

3、在创建好的.xml文件里面配置Bean

注意,在定义bean时,上下两个bean标签的id不能重复
4、在Java文件里面获取IoC容器,并获取Bean值,调用到相应的方法

5、输出结果

DI案例
删除了使用new创建对象的方法,增添了一个set方法:
然后在service的bean里面这样做:
得到结果:
初认Spring的更多相关文章
- hexo博客yili主题个性化自定义教程(1) ——借鉴中学习,初认yili主题
文章转载于:hexo博客yili主题个性化自定义教程(1) --借鉴中学习,初认yili主题 这个博客跌跌撞撞也弄了好多天了,由于Next主题不知道什么情况,被我玩坏了.所以换了一个主题. 大名鼎鼎的 ...
- running programmer——spring-01(初谈spring)
今天主要是通过一个简单的登录程序学习一些spring做基础的配置和功能. I.spring的核心配置applicationContext.xml 关于bean的配置官方给出的最基础的配置文件如下: & ...
- 初用Spring Test
粗糙的研究了下Spring test,分享以下blog: 1. http://blog.csdn.net/shan9liang/article/details/40452469 2. http://w ...
- 初入 Spring.net
IOC:Inversion Of Control 控制翻转:就是创建对象的权利由开发人员自己控制,转换到了由容器来控制 我用的是winform里的一个按键来触发的 首先要引入两个Spring.net的 ...
- 初尝Spring Cloud Config
1,下载源码 地址https://spring.io/guides/gs/centralized-configuration/ 2,导入工程 解压后分别把Server端与Client端导入到两个Ecl ...
- IDEA 初建Spring项目(Hello Spring)
新建项目 在文件夹中建立一个项目文件 打开项目 打开IDEA,点击Open,根据所建项目路径找到该项目 依赖注入 点击项目名右键,点击new,点击file,创建pom.xml 内容为: <pro ...
- 初入spring boot(八 )Spring Data REST
1. 什么是Spring Data REST Spring Data JPA是基于Spring Data 的Repository之上,可以将Repository自动输出为REST资源.目前Spring ...
- 初入spring boot(七 )Spring Data JPA
Spring Data JPA通过提供基于JPA的Repository极大地减少JPA作为数据访问方案的代码量. 1.定义数据访问层 使用Spring Data JPA建立数据访问层十分简单,只需定义 ...
- 初入spring boot(五 )websocket
一.广播式 广播式即服务端有消息时,会将消息发送给所有连接了当前endpoint的浏览器 1.配置websocket,需要在配置类上使用@EnableWebSocketMessageBroker开启w ...
- 初入spring boot(四 )web项目
1. 模板引擎 spring boot提供了大量的模板引擎,包括FreeMark.Groovy.Thymeleaf.Velocity等,但spring boot中推荐用Thymeleaf,因为Thym ...
随机推荐
- ConcurrentHashMap在Java8中的变化
增加红黑树这个存储结构 在Java8中,为什么要增加红黑树这种数据结构来进行存储,而不是全部使用链表来进行存储呢? 1.因为攻击者可以构造大量具有相同hashCode的内容,使其全部放在同一个列表中, ...
- flutter json_serializable数据模型的建立和封装
为了方便数据使用,我们将服务器拿到的数据转换为map类型,但是在使用是大量的数据会让使用map时头大,比如每个map都key都需要手动输入,很是麻烦. 本文使用了json_serializable将m ...
- Flask默认配置参数
方式一:字段赋值方式导入 1 2 3 4 5 6 7 8 9 10 11 12 13 14 from flask import Flask app = Flask(__name__) app. ...
- 1903021126 申文骏 Java 第二周作业 代码编写及运行
项目 内容 课程班级博客链接 19级信计班(本) 作业要求链接 Java第二周作业 博客名称 1903021126 申文骏 Java 第二周作业 代码编写及运行 要求 每道题要有题目,代码(使用插入代 ...
- 快速搭建基于webpack的babylon.js开发手脚架
原文:https://doc.babylonjs.com/how_to/page2 目录 创建一个项目 安装Babylon.js 设置webpack 安装依赖 配置webpack 插件 创建场景 设置 ...
- nginx二进制安装脚本
#!/bin/bash NGINX_FILE=nginx-1.22.0#NGINX_FILE=nginx-1.20.2#NGINX_FILE=nginx-1.18.0NGINX_URL=http:// ...
- Vue项目目录树
- 港湾云服务器 香港新世界 节点 centos7.7 64 部署java项目
开通云服务器 使用Xshell远程登录 XFTP连接服务器查看文件(这个步骤可有可无) yum安装jdk 在linux上使用yum安装是非常粗暴无脑的,但仍然有需要注意的点,不然会掉坑里.这里说一下步 ...
- nodejs批量重命名
const fs = require("fs"); // directory path let config = { affix: null, src: null, }; ...
- PHP中获取时间的下一周下个月的方法
PHP中获取时间的下一周,下个月等通常用于定制服务的时候使用,比如包月会员,包年等等 //通常用于定制服务的时候使用,比如包月会员,包年等等 //获取当前时间过一个月的时间,以DATETIME格式显示 ...