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个 ...
随机推荐
- 【JNI】C分支
public class MainActivity extends Activity { static{ System.loadLibrary("hello"); } @Overr ...
- 微信SDK开发学习
public class MainActivity extends Activity { // 应用程序的id,就是在网上开发平台创建应用的appid public static final Stri ...
- http://jingyan.baidu.com/article/bad08e1ee14ae409c85121cf.html
http://jingyan.baidu.com/article/bad08e1ee14ae409c85121cf.html
- Codeforces Round #295 (Div. 2)
水 A. Pangram /* 水题 */ #include <cstdio> #include <iostream> #include <algorithm> # ...
- BFS POJ 3278 Catch That Cow
题目传送门 /* BFS简单题:考虑x-1,x+1,x*2三种情况,bfs队列练练手 */ #include <cstdio> #include <iostream> #inc ...
- BZOJ3799 : 字符串重组
从大到小枚举答案与T串的lcp,然后贪心 #include<cstdio> #include<cstring> char s[5010],t[5010],ans[5010]; ...
- 各新旧版本Java及其相关文档可以从这里下载
http://www.oracle.com/technetwork/java/archive-139210.html
- 20145325张梓靖 实验五 "JAVA的网络编程"
20145325张梓靖 实验五 "JAVA的网络编程" 实验内容 使用 JVAV语言 进行网络编程 对明文进行加密 设计过程 我完成的是客户端,服务端同伴 20145308刘昊阳 ...
- Palindrome Partitioning II Leetcode java
题目: Given a string s, partition s such that every substring of the partition is a palindrome. Return ...
- The Storage Situation: Removable Storage
http://commonsware.com/blog/2014/04/09/storage-situation-removable-storage.html There is a lot of co ...