Spring读书笔记-----部署我的第一个Spring项目
一、Spring介绍
Spring是一个轻量级的Java EE容器,它也是一种从实际需求出发,着眼于轻便,灵活,易于开发,易测试和易部署的轻量级开发框架。Spring它完成了大量开发中的通用步骤,留给开发者的仅仅是与特定应用相关的部分,从而大大提高了企业应用的开发效率。
Spring为企业应用的开发提供了一个轻量级的解决方案。该方案包括:基于依赖注入的核心控制,基于AOP的声明式的事务管理,与持久层技术的耦合,以及优秀的Web MVC框架等。它致力于为Java EE 应用各层的解决方案。
使用Spring具有如下优点:
1、低倾入式设计,代码的污染低。
2、独立于各种应用服务器,基于Spring框架的应用,可以真正实现Write Once、Run Anywhere的承诺。
3、Spring的DI容器降低了业务对象替换的复杂性,提高了组件之间的解耦。
4、Spring的AOP支持允许将一些通用任务如安全、事务、日志等进行集中式处理,提供了更好的复用。
5、Spring的ORM和DAO提供了与第三方持久层矿建的良好整合,并简化了底层的数据库访问。
6、Spring的高度开发性,并不强制应用完全依赖于Spring,开发者可以自由选择Spring框架的部分或全部。
概述图:
二、部署第一个Spring框架
1、将Spring项目开发需要的jar包全部倒入到web应用的WEB-INF/lib路径下。
2、编写主程序,该主程序用于初始化Spring容器,Spring容器是Spring应用的核心,该容器负责管理容器中的java组件。
- //创建Spring的ApplicationContext
- ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");
- //输出Spring容器
- System.out.println(ctx);
ApplicationContext实例就是Spring容器,它包含了很多功能,Spring框架中的绝大部分功能都是通过它实现的。一旦获得了Spring容器,就可以通过该容器访问Spring容器中Bean。
3、编写Java Bean类,该类让Spring容器管理。
- public class PersonService {
- private String name;
- public void setName(String name) {
- this.name = name;
- }
- //测试Person类的info方法
- public void info(){
- System.out.println("此人名为:"+name);
- }
- }
4、将编写的Java Bean类部署在Spring文件中。
- <!-- 将PersonService类部署成Spring容器中的Bean -->
- <bean id="personService" class="com.spring.service.PersonService">
- <property name="name" value="chenssy"/>
- </bean>
5、测试
在主程序中的main方法增加如下代码,即可测试。
- PersonService p = ctx.getBean("personService",PersonService.class);
- p.info();
运行测试程序得到如下结果:
Spring读书笔记-----部署我的第一个Spring项目的更多相关文章
- (转) Spring读书笔记-----部署我的第一个Spring项目
一.Spring介绍 Spring是一个轻量级的Java EE容器,它也是一种从实际需求出发,着眼于轻便,灵活,易于开发,易测试和易部署的轻量级开发框架.Spring它完成了大量开发中的通用步骤,留给 ...
- (转) Spring读书笔记-----Spring的Bean之配置依赖
前一篇博客介绍了Spring中的Bean的基本概念和作用域(Spring读书笔记-----Spring的Bean之Bean的基本概念),现在介绍Spring Bean的基本配置. 从开始我们知道Jav ...
- Spring读书笔记——bean解析
前情回顾 上篇<Spring读书笔记--bean加载>我们从代码角度介绍了有哪些类负责解析XML文件,又是如何一步步从XML格式脱变成我们熟悉的bean的,直到DefaultBeanDef ...
- Spring读书笔记——bean创建(上)
通过<Spring读书笔记--bean加载>和<Spring读书笔记--bean解析>,我们明白了两件事. Spring如何加载消化一个xml配置文件 Spring如何将xml ...
- Spring读书笔记——bean创建(下)
有关Spring加载bean系列,今天这是最后一篇了,主要接上篇对于从Spring容器中获取Bean的一些细节实现的补充. <Spring读书笔记--bean加载>--Spring如何加载 ...
- Spring 读书笔记-----使用Spring容器(一)
pring有两个核心接口:BeanFactory和ApplicationContext,其中ApplicationContext是BeanFactory的子接口.他们都可代表Spring容器,Spri ...
- (转)Spring 读书笔记-----使用Spring容器(一)
Spring有两个核心接口:BeanFactory和ApplicationContext,其中ApplicationContext是BeanFactory的子接口.他们都可代表Spring容器,Spr ...
- 《ASP.NET Core In Action》读书笔记系列,这是一个手把手的从零开始的教学系列目录
最近打算系统学习一下asp.net core ,苦于没有好的中文书藉,只好找来一本英文的 <ASP.NET Core In Action>学习.我和多数人一样,学习英文会明显慢于中文.希 ...
- 《WF in 24 Hours》读书笔记 - Hour 2(1) - 第一个Workflow程序
创建第一个Workflow项目 1. 创建Workflow项目 – 选择Workflow Console Application 2. 添加CodeActivity 3. 打开CodeActivity ...
随机推荐
- linux下mysql出现Access denied for user 'root'@'localhost' (using password: YES)解决方法
# /etc/init.d/mysql stop # mysqld_safe --user=mysql --skip-grant-tables --skip-networking & # my ...
- ExpandableListView(三)只展开一个group,没有child不展开group
本文是自己在实践中,发现的问题. 有时候想让界面更加的人性化,就要实现很多的效果,比如只展开一个group,在点击下个group的同时,关闭之前的group 在一个ExpandableListView ...
- css3的一些属性
以前还没有注意过css的一些属性,近期发现有一些样式很好用,现在整理一遍. CSS3 动画属性 @keyframes : 规定动画 可以通过keyframes 改变一个块的样式当然这是要配合anima ...
- 汉字转拼音的vc++程序源代码
#include "StdAfx.h" #include "MyChiToLetter.h" // Download by http://www.codefan ...
- 2015.8.3 Java
今天继续学习Java 用的是eclipse IDE 这个ide怪怪的,但是有一个很方便的功能 就是通过右键选择source 可以点击Generate Getters and Setters生成属性的 ...
- ##DAY7 UINavigationController
##DAY7 UINavigationController #pragma mark ———————UINavigationController——————————— 概括: 导航视图控制器也是一个视 ...
- C++数组与指针
指向数组元素的指针 一个变量有地址,一个数组包含若干元素,每个数组元素都在内存中占用存储单元,它们都有相应的地址.指针变量既然可以指向变量,当然也可以指向数组元素(把某一元素的地址放到一个指针变量中) ...
- java中对象模型与数据库中的关系模型
实体类还需要配置到hibernate.cfg.xml中,以便Hibernate初始化实体类与数据库表的映射关系.如果只配置了映射关系,而没有配置到hibernate.cfg.xml中,Hibernat ...
- mysql数据迁移
使用mysqldump mysqldump -host=host1 -uroot -p123456 -opt sourceDb| mysql -host=host2 -uroot -p123 -C t ...
- HDU 2227 Find the nondecreasing subsequences
题目大意:给定一个序列,求出其所有的上升子序列. 题解:一开始我以为是动态规划,后来发现离散后树状数组很好做,首先,c保存的是第i位上升子系列有几个,那么树状数组的sum就直接是现在的答案了,不过更新 ...