spring环境的搭建及作用和定义<一>
问题?spring的定义及作用、spring的环境搭建
一、spring的定义及作用
1、spring由Rod Johnson创建的一个开源框架,它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
2、Spring的核心是控制反转(IoC)和面向切面(AOP)
Spring的控制反转:把对象的创建、初始化、销毁等工作交给spring容器来做 。
Spring的面向切面:
二、spring环境的搭建
1、准备阶段:
jar包的准备:可以放入web应用下WebRoot/WEB-INF/lib下,并且BuildPath下。点击下载jar包链接
配置文件的准备:applicationContext.xml
注意:spring注解的默认编码是iso-8859-1
在spring开发手册可以找打,或者去spring核心包中去找,也可以找到。
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <!-- id:标识符 class:相应的对象类,放入容器中 alias:别名,可写可不写,就是另外取一个名字 --> <!-- 这是第一种创建对象的方式:利用构造方法 --> <bean id="hello" class="cn.itcast.sh.spring.ioc.HelloWord"></bean> <alias name="hello" alias="王三"/> <!-- 这是第二种创建对象的方式:利用factory-method,静态工厂方法 --> <bean id="helloFactory" class="cn.itcast.sh.spring.ioc.HelloWordFactory" factory-method="getInstance"></bean> <!-- 这是第三种创建对象的方式:使用实例工厂方法实例化 --> <!-- <bean id="heillLocator" class="cn.itcast.sh.spring.ioc.HelloWordLocator" factory-bean="heillLocator" factory-method="getInstance"></bean> --> <!-- 默认情况下是applicationContext.xml文件。可以建立很多xml文件将其引入 --> <import resource=""/> </beans>
然后创建测试类:
package cn.itcast.sh.spring.ioc.test; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import cn.itcast.sh.spring.ioc.HelloWord; import cn.itcast.sh.spring.ioc.HelloWordFactory; public class IocTest { /** * spring创建对象的两种方式 * */ //第一种:调用默认的构造方法进行创建 @Test public void IocT1(){ /** * 1.启动spring容器 * 2.从容器中拿出对象 * 3.然后由对象执行相应的操作 * */ ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); HelloWord helloWord = (HelloWord) context.getBean("王三");//取的是别名 helloWord.hello(); } //利用静态工厂来创建对象 @Test public void IocT2(){ ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); HelloWord factory = (HelloWord) context.getBean("helloFactory"); factory.hello(); } //利用实例工厂来创建对象 @Test public void IocT3(){ ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); HelloWordFactory factory = (HelloWordFactory) context.getBean("heillLocator"); factory.getInstance(); } }
用单元测试:看看是否能用容器建立的对象,是否能够正常的使用
spring环境的搭建及作用和定义<一>的更多相关文章
- 2018.12.20 Spring环境如何搭建
Spring学习 1.导入spring约束 为后续创建xml文件做铺垫 2.开始搭建Spring环境 1.创建Web项目,引入spring的开发包(根据下面的图来引入) 2.引入jar包 coreCo ...
- Spring环境的搭建与测试 (spring2.5.6)
这里是采用的视频里面的spring版本 下载spring2.5.6, 然后进行解压缩,在解压目录中找到下面jar文件,拷贝到类路径下 dist\spring.jar lib\jakarta-commo ...
- 1.spring环境的搭建
1.app.config <?xml version="1.0" encoding="utf-8" ?><configuration> ...
- SSH三个主流框架环境的搭建
part 1 Hibernate环境的搭建 part2 struts2环境的搭建 第一步:从struts2官网下载需要的各种资料和jar包 第二步:在ecplise里面创建web项目,然后在web ...
- Spring环境搭建之:导入jar包、配置文件名称及放置位置
Spring环境搭建之:导入jar包.配置文件名称及放置位置 现在项目开发中spring框架应用的还是比较多的,自己用的还不太熟练,每次用的时候总配置半天,总有些配置弄错,就找个时间总结以下,方便以后 ...
- 移动商城第三篇【搭建Mybatis和Spring环境、编写Dao、Service在Core模块】
Mybatis和Spring环境搭建 由于我们的所编写的dao层.service代码可能前台和后台都需要用到的,因此我们把环境搭建在core模块中 逆向工程 首先,我们要做的就是品牌管理,我们首先来看 ...
- 人生若只如初见---Spring概述以及环境的搭建
Spring 是什么 Spring是由Apache开发的一种轻量型Java框架,能够更加便捷使用JavaBean(之前只有EJB才能实现) Spring的主要优势:分层架构: DAO层:(Data A ...
- 【Spring学习笔记-1】Myeclipse下Spring环境搭建
*.hl_mark_KMSmartTagPinkImg{background-color:#ffaaff;}*.hl_mark_KMSmartTagBlueImg{background-color:# ...
- 工作笔记3.手把手教你搭建SSH(struts2+hibernate+spring)环境
上文中我们介绍<工作笔记2.软件开发经常使用工具> 从今天開始本文将教大家怎样进行开发?本文以搭建SSH(struts2+hibernate+spring)框架为例,共分为3步: 1)3个 ...
随机推荐
- cocos2d menu菜单类
// 在init这个函数当中做一些初始化的事情 bool HelloWorld::init() { ////////////////////////////// // 先构造父级对象 if ( !CC ...
- codevs 1507酒厂选址
#include<cstdio> #include<cstdlib> using namespace std; int n; int dis[10010],a[10010],x ...
- shell条件与循环
一.if语句 if [expression] then elif[expression] then else fi 注 : expression前后要有空格:判断相等用 = 而不是 == : then ...
- Graph database_neo4j 底层存储结构分析(6)
3.6 Node 数据存储 neo4j 中, Node 的存储是由 NodeStore 和 ArrayPropertyStore 2中类型配合来完成的. node 的label 内容是存在Array ...
- winform学习之----打开文件对话框并将文件内容放入文本框
OpenFileDialog ofg = new OpenFileDialog(); ofg.Title = "ddd";//设置对话框标题 ofg.Multiselect = t ...
- java利用JFreeChart实现各种数据统计图(柱形图,饼图,折线图)
最近在做数据挖掘的课程设计,需要将数据分析的结果很直观的展现给用户,这就要用到数据统计图,要实现这个功能就需要几个第三方包了: 1. jfreechart-1.0.13.jar 2. ...
- Solve error: 'class vtkImageActor' has no member named 'SetInput'
Replacement of SetInput() with SetInputData() and SetInputConnection() someFilter->SetInput(someR ...
- eval(gzinflate(base64_decode N层,自动解密
<?php header("Content-type: text/html; charset=utf-8"); $decode = 'DZdFEsRWEkT3vojt0EJM ...
- [故障处理]联想笔记本故障0x0000007B
同事笔记本故障,莫名其妙的快捷方式就找不到了.开始程序中的内容也无法正常查看. 解决步骤: 1.怀疑用户配置的问题,新建一个用户,没有解决. 2.使用自带的一键恢复ThinkVantage,恢复后,重 ...
- centos时间同步方法
centos时间同步方法 电脑软硬件应用网 45IT.COM 时间:2012-12-08 18:09 作者:李本清 新装的服务器可能设置了错误的,需要调整时区并调整时间.如下是使用NTP来从一个时间服 ...