Spring基本应用
来源:互联网 发布:大数据时代宣传片 编辑:程序博客网 时间:2024/05/29 08:08
Spring框架从某种程度上看,充当了粘合剂和润滑剂的角色,对Hibernate和Struts2等框架提供了良好的支持,能将响应的Java Web系统柔顺的整合起来,并让它易用。同时,其本身提供了声明式事务等企业级开发不可或缺的功能。
特点:
非侵入式:Spring框架的API不会在业务逻辑上出现。
容器:Spring提供容器功能,容器可以管理对象的声明周期、对象与对象之间的依赖关系。可以写一个配置文件(通常是XML文件),在上面定义对象的名字、是否是单例,以及设置与其他对象的依赖关系。那么容器启动后,这些对象就被实例化好了,直接去用就好了,而且依赖关系也建好了。
IOC:控制反转,即依赖关系的转移,如果以前是依赖与实现,那么现在反转为依赖于抽象,核心思想就是要面向接口编程。
依赖注入:对象与对象之间依赖关系的实现,包括接口注入、构造注入、set方法注入。在spring中只支持后两种。
AOP(Aspect Oriented Programming):面向切面编程,将日志、安全、事务管理等服务(或功能)理解为一个“方面”,以前这些服务通常是直接写在业务逻辑的代码中,有两个缺点:首先业务逻辑不纯净,其次是这些服务被很多业务逻辑反复使用,不能做到复用。AOP解决了上述问题,可以把这些服务剥离出来,形成一个“方面”,可以实现复用;然后将“方面”动态插入到业务逻辑中,让业务逻辑能方便的使用其提供的服务。
搭建Spring开发环境:
通过myeclipse,项目上右键->configure facets->install spring facet,自动在src目录下创建了一个applicationContext.xml的配置文件。
主要JAR作用:
org.springframework.aop-xx.RELEASE.jar:spring面向切面支持,提供AOP实现。
org.springframework.beans-xx.RELEASE.jar:spring IOC的基础实现。
org.springframework.context.support-xx.RELEASE.jar:spring-context的扩展支持,用于MVC方面。
org.springframework.context-xx.RELEASE.jar:spring提供在基础IOC功能上的扩展服务,此外,还提供许多企业级服务的支持,如邮件服务、任务调度、JNDI定位、EJB集成、远程访问、缓存以及各种视图层框架的封装等。
org.springframework.core-xx.RELEASE.jar:spring核心工具包。
org.springframework.instrument.tomcat-xx.RELEASE.jar:spring对Tomcat的连接池的集成。
org.springframework.jdbc-xx.RELEASE.jar:spring对JDBC的简单封装。
org.springframework.orm-xx.RELEASE.jar:spring整合第三方ORM映射支持,如HIbernate、iBatis、Jdo以及spring的JPA的支持。
org.springframework.test-xx.RELEASE.jar:spring对JUnit等测试框架所做的简单封装。
org.springframework.transaction-xx.RELEASE.jar:为JDBC、HIbernate、JDO、JPA等提供一致的声明式和编程式事务管理。
①搭好环境,建com.shw包,建HelloWorld类,方法show(){System.out.println(```)};
②配置applicationContext.xml文件:
添加<bean>节点:<bean id="hw" class="com.shw.HelloWorld"></bean>
③编写测试类:建TestHelloWorld类,通过applicationContext.xml配置文件去获取HelloWorld实例,然后调用show方法输出信息。
package com.shw;
import org.springframework.context.AppliactionContext;
import org.springframework.context.support.ClassPathXmlAppliactionContext;
public class TestHelloWorld{
public static void main(String[] args){
ApplicationContext context=new ClassPathXmlAppliactionContext("applicationContext.xml");
HelloWorld hw=(HelloWorld)context.getBean("hw");//hw为配置文件中bean的id标识
hw.show();
}
} 这个简单的spring示例包含了依赖注入思想,稍后将依赖注入含义和原理内容做详细讲解。
Spring核心机制:依赖注入
spring的核心机制就是IoC(控制反转)Inversion of Control容器,IoC的另一个称呼是依赖注入DI(dependency injection)。通过依赖注入,java EE应用中各种组件不需要硬编码方式进行耦合,当一个java实例需要其他java实例时,系统自动提供需要的实例,无须程序显示获取。因此,依赖注入实现了组件之间的解耦。
如何使用spring依赖注入:
spring提倡面向接口的编程,依赖注入的基本思想是:明确地定义组件接口,独立开发各个组件,然后根据组件依赖关系组装运行。
接口UserBizImpl实现类:
package com.shw.biz;
import com.shw.dao.UserDAO;
public class UserBizImpl implements UserBiz{
UserDAO userDAO;
public void setUserDAO(UserDAO userDAO){
this.userDAO=userDAO;
}
@Override
public boolean login(String username,String password){
return userDAO.login(username,password);
}
}
配置文件:
<bean id="userDAO" class="com.shw.dao.UserDAOImpl"></bean>
<bean id="userBiz" class="com.shw.biz.UserBizImpl">
<property name="userDAO" ref="userDAO" />//提供给了UserBizImpl实例中属性userDAO的值,即userDAO=new UserDAOImpl()
</bean>
- Spring的基本应用
- Spring基本应用
- dwr基本应用2--creator="Spring"
- Spring mvc 环境搭建以及基本应用
- ActiveMQ基本应用(spring集成activemq)
- Spring Boot应用基本配置说明
- JavaEE Spring框架学习笔记(AOP基本应用实例)
- Spring 应用
- Spring 应用
- Spring应用
- Spring应用
- Spring---Spring MVC 应用
- maven下使用junit对spring进行单元测试_01基本应用
- Spring4.X + Spring MVC + Mybatis3 零配置应用开发框架搭建详解(1) - 基本介绍
- maven下使用junit对spring进行单元测试_01基本应用
- spring 基本架构图
- spring 基本Bean装配
- spring mvc 基本配置
- C/C++_log2000_namespace使用辨析
- json数据处理经验
- Solr6.3 Getting Started Solr6.3 安装运行
- ie8下new Date()指定时间
- cpp——复合类型——引用
- Spring基本应用
- Java的内存分配机制(初步整理)
- POJ 3062 Celebrity jeopardy G++
- cocos2dx环境配置
- iOS容错利器之JKDataHelper
- android使用片段流程总结
- C#电子书 第七章继承
- BZOJ1115: [POI2009]石子游戏Kam
- 二元选择排序