(转) Spring读书笔记-----部署我的第一个Spring项目
2015-06-16 13:51
549 查看
一、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组件。
[java] view plaincopyprint?
//创建Spring的ApplicationContext
ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");
//输出Spring容器
System.out.println(ctx);
ApplicationContext实例就是Spring容器,它包含了很多功能,Spring框架中的绝大部分功能都是通过它实现的。一旦获得了Spring容器,就可以通过该容器访问Spring容器中Bean。
3、编写Java Bean类,该类让Spring容器管理。
[java] view plaincopyprint?
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文件中。
[html] view plaincopyprint?
<!-- 将PersonService类部署成Spring容器中的Bean -->
<bean id="personService" class="com.spring.service.PersonService">
<property name="name" value="chenssy"/>
</bean>
5、测试
在主程序中的main方法增加如下代码,即可测试。
[java] view plaincopyprint?
PersonService p = ctx.getBean("personService",PersonService.class);
p.info();
运行测试程序得到如下结果:
------读李刚《轻量级Java EE企业应用实战》
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组件。
[java] view plaincopyprint?
//创建Spring的ApplicationContext
ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");
//输出Spring容器
System.out.println(ctx);
//创建Spring的ApplicationContext ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml"); //输出Spring容器 System.out.println(ctx);
ApplicationContext实例就是Spring容器,它包含了很多功能,Spring框架中的绝大部分功能都是通过它实现的。一旦获得了Spring容器,就可以通过该容器访问Spring容器中Bean。
3、编写Java Bean类,该类让Spring容器管理。
[java] view plaincopyprint?
public class PersonService {
private String name;
public void setName(String name) {
this.name = name;
}
//测试Person类的info方法
public void info(){
System.out.println("此人名为:"+name);
}
}
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文件中。
[html] view plaincopyprint?
<!-- 将PersonService类部署成Spring容器中的Bean -->
<bean id="personService" class="com.spring.service.PersonService">
<property name="name" value="chenssy"/>
</bean>
<!-- 将PersonService类部署成Spring容器中的Bean --> <bean id="personService" class="com.spring.service.PersonService"> <property name="name" value="chenssy"/> </bean>
5、测试
在主程序中的main方法增加如下代码,即可测试。
[java] view plaincopyprint?
PersonService p = ctx.getBean("personService",PersonService.class);
p.info();
PersonService p = ctx.getBean("personService",PersonService.class); p.info();
运行测试程序得到如下结果:
------读李刚《轻量级Java EE企业应用实战》
相关文章推荐
- JAVA中Semaphore(信号量)
- Java垃圾回收机制
- java.lang.ClassNotFoundException: org.junit.Assume$AssumptionViolatedException
- Java常用正则表达式验证工具类RegexUtils.java
- Logger4j总结
- reverse the String
- Hadoop-MyEclipse安装配置
- java内存分配和String类型的深度解析
- Java NIO框架Netty课程(一) – Hello Netty
- rmi spring
- 浅析Java中的final关键字
- java 字符串转double数字失去精度Double.parseDouble("0.00028")*100D
- Java之内存分析和String对象
- Spring MVC 学习笔记-----data binding
- eclipse Project的属性Deployment Assembly(支配程序集)
- Java并发编程-11-线程同步辅助类-semaphore
- 开始刷题LeetCode!
- 深入分析 Java 中的中文编码问题
- 一个简单易懂的javascrip selection&range小案例
- 平时易疏忽的java基础知识