[Spring]初识Spring-Spring是什么?如何实例化一个Spring容器?
关于Spring入门的基础知识点
Spring简介
Spring是由Rod Johnson创建的轻量型容器,目的在于简化企业级开发。是一种容器框架
a.降低侵入性
b.提供了IOC(控制反转)和AOP(面向切面)的功能,可以降低组件之间的耦合度,便于系统的维护和升级
c. 为系统提供一个整体的解决方案,开发者除了能够使用其本身的功能以外,还可以将Spring框架和其他框架整合可以自由选择采用暗中技术来架构项目
总结:Spring框架的实质是管理软件中的对象,可以对软件中对象的创建以及对象间的依赖关系进行管理
优点
Spring中的模块
Spring框架由七个定义明确的模块组成
如果作为一个整体,这些模块为你提供了开发企业应用所需的一切。但你不必将应用完全基于Spring框架。你可以自由地挑选适合你的应用的模块而忽略其余的模块。
所有的Spring模块都是在核心容器之上构建的。容器定义了Bean是如何创建、配置和管理的。当你配置你的应用时,你会潜在地使用这些类。但是作为一名开发者,你最可能对影响容器所提供的服务的其它模块感兴趣。这些模块将会为你提供用于构建应用服务的框架,例如AOP和持久性。

更详细的可以参考百度百科:https://baike.baidu.com/item/spring%E6%A1%86%E6%9E%B6/2853288
A.Spring中的容器
在Spring中,所有的Java类都当成JavaBean来处理,这些Bean通过容器进行管理和使用。
这些类要满足下面几个规范:
1,是公共的类,并且含有公有的无参构造法方法
2,实例变量私有化提供 get / set 方法
Spirng中的容器中常用的两个管理对象的类是 BeanFactory和ApplicationContext两个,区别是
ApplicationContext继承了BeanFactory,因此含有更多的企业级的方法。并且两者都是接口。
使用中 BeanFactory 比较高效一些
B.Spring容器的实例化
1,导入相关 jar 包(先放在 src / lib 下)
2,在项目中加入Spirng配置文件 applicationContext.xml
3,使用BeanFactory或ApplicationContext 创建容器,只需要创建一个就足够了
配置文件:applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<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"
xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:util="http://www.springframework.org/schema/util"
xmlns:jpa="http://www.springframework.org/schema/data/jpa"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.2.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.2.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.3.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.2.xsd"> </beans>
Demo01.java
//相对路径
ApplicationContext ac=new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
//绝对路径
ApplicationContext ac2=new FileSystemXmlApplicationContext("src"+File.separator+"applicationContext.xml");
System.out.println(ac2);
// 关闭容器
((AbstractApplicationContext) ac).close();
[Spring]初识Spring-Spring是什么?如何实例化一个Spring容器?的更多相关文章
- 集群: 如何在spring 任务中 获得集群中的一个web 容器的端口号?
系统是两台机器, 跑四个 web 容器, 每台机器两个容器 . nginx+memcached+quartz集群,web容器为 tomcat . web 应用中 用到spring 跑多个任务,任务只能 ...
- 【Spring学习笔记-2】Myeclipse下第一个Spring程序-通过ClassPathXmlApplicationContext加载配置文件
*.hl_mark_KMSmartTagPinkImg{background-color:#ffaaff;}*.hl_mark_KMSmartTagBlueImg{background-color:# ...
- Spring boot 官网学习笔记 - 开发第一个Spring boot web应用程序(使用mvn执行、使用jar执行)
Creating the POM <?xml version="1.0" encoding="UTF-8"?> <project xmlns= ...
- Spring入门教程:通过MyEclipse开发第一个Spring项目
Animal.java package com.project; public class Animal { private String name; public String getName() ...
- 五分钟,手撸一个Spring容器!
大家好,我是老三,Spring是我们最常用的开源框架,经过多年发展,Spring已经发展成枝繁叶茂的大树,让我们难以窥其全貌. 这节,我们回归Spring的本质,五分钟手撸一个Spring容器,揭开S ...
- 只需两步!Eclipse+Maven快速构建第一个Spring Boot项目
随着使用Spring进行开发的个人和企业越来越多,Spring从一个单一简介的框架变成了一个大而全的开源软件,最直观的变化就是Spring需要引入的配置也越来越多.配置繁琐,容易出错,让人无比头疼, ...
- 用 Docker 构建、运行、发布来一个 Spring Boot 应用
本文演示了如何用 Docker 构建.运行.发布来一个 Spring Boot 应用. Docker 简介 Docker 是一个 Linux 容器管理工具包,具备“社交”方面,允许用户发布容器的 im ...
- Spring初识(通过小实例清晰认识Spring)
1.spring架构: spring是J2EE应用程序框架,是轻量级的IoC和AOP的容器框架,主要是针对javaBean的生命周期进行管理的轻量级容器,可以单独使用,也可以和Struts框架,iba ...
- spring的bean是在什么时候实例化的
如果没有特殊配置,当bean的scope为原型,也就是singleton的时候,在启动spring容器的时候完成实例化.且需要注意的是,当实例化一个bean的时候,先执行其构造函数代码,然后再执行se ...
随机推荐
- SVN入门使用
1.安装客户端:TortoiseSVN-1.9.7.27907-x64-svn-1.9.7 2.安装服务器:Setup-Subversion-1.8.5.msi 下载地址:http://sou ...
- 【洛谷p5015】标题统计
(写上瘾了再来一篇吧) 标题统计[传送门] 洛谷算法标签 字符串这种东西,我看到是崩溃的.因为我们只学到了二维数组[这个梗自行get],总之我们当时还没有学.然后显然就是各种翻书,各种百度.大致了解了 ...
- 第一阶段——站立会议总结DAY05
1.昨天做了什么:昨天在个人中心页面上又进行了加工,排版更加规则. 2.今天准备做什么:准备继续学习从网上下载的资料. 3.遇到的困难:界面只能是简陋的,不知道如何办到像微信那样的好看.
- linux配置hadoop集群
①安装虚拟机 ②为虚拟机添加共享文件 右击已经安装好的虚拟机 设置—>选项—>共享文件 ③配置映射 sudo nano /etc/network/interfaces 重启网络:sud ...
- UI基础二:下拉,F4,OP等
常用的搜索帮助有SE11的SH,域,值列表,组件等...下面介绍一下经常用的: 一:下拉 dropdown是最经常用的,也是最简单的一种. 不管是查询条件,还是结果清单,还是明细界面,下拉都是一样的 ...
- 解决PLSQL Developer 插入中文 乱码问题(转)
原文地址:解决PLSQL Developer 插入中文 乱码问题 PLSQL Developer 插入中文 乱码问题,如图 这个是由于oracle服务器端字符编码 和 Oracle 客户端 字 ...
- 「jQuery」获取元素的高度
在jQuery中,获取元素高度的方法有3个:height().innerHeight().outerHeight(); 顺带记一下元素的盒模型: height(高度), padding(内边距), m ...
- python中RabbitMQ的使用(路由键)
1.简介 当我们希望每个接收端接收各自希望的消息时,我们可以使用路由键,此时交换机的类型为direct. 2.工作原理 每个接收端的消息队列在绑定交换机的时候,可以设定相应的路由键. 发送端通过交换机 ...
- 十一、持久层框架(MyBatis)
一.基于注解方式的CRUD 把xml方式的CRUD修改为注解方式 之前在xml中配置,是在<mapper></mapper>标签下写CRUD <mapper namesp ...
- Qt_自定义菜单
一.右键菜单 右键菜单实现:通过重写contextMenuEvent(QContextMenuEvent *event)事件,QMenu+QAction即可完美实现! 重写voidcontextMen ...