`
高成锋
  • 浏览: 52769 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

spring学习总结【一】

阅读更多

1. Spring简介

Spring使用简单的javabean来解完成以前由EJB完成的事情,然而,spring的用途不仅仅局限于服务器端的开发,从简单性,可测性和松耦合的角度而言,任何java应用都可以从spring中获益,spring的目的是解决企业级应用的复杂性。

 

轻量:从大小与开销两方面讲,spring都是轻量级的

控制反转:控制权的转移成为反转,一个对象依赖的其他对象会通过被动的方式传递进来而 不是对象自身的创建或查找依赖对象

面向切面:允许通过分离应用的业务逻辑与系统级服务进行内聚性开发,业务对象实现他们 应该做的

容器:spring包含并管理应用对象的配置与生命周期,在这个意义他是一个容器,他可以配置你每个bean如何被创建

框架:spring可以将简单的组件配置,组合成为复杂的应用,应用对象被声明为一个组合, 典型的在一个XML文件中

 

为什么用spring

其定位是许多流行框架framework所没有的,他更关注一种方法管理你的业务对象,spring是全面和模块化的,spring有分层的体系结构,这意味着你能选择用他孤立的任何部分,他的架构仍然是内在稳定,其设计原理从底部帮助你编写易于测试的代码。

 

2. Spring应用

2.1. spring需要的jar

http://www.springsource.org/dowmload

Dist\spring.jar

Lib\jakarta-commons\commons-logging.jar

如果使用了切面编程(AOP),还需要下列jar文件

Lib\aspectj\aspectweaver.jar 和 aspectjrt.jar

Lib\cglib\cglib-nodep-2-1-3.jar

如果使用了JSR-250中的注解,如@Resource/@PostConstrut/@PreDestroy还需要下列jar

Lib\j2ee\common-annotations.jar

 

2.2. 创建Java Project

第一步:创建一个java项目,点击下一步,Librariesadd External JARS)引入需要的spring.jar common-logging.jar

第二步:新建一个bean.xml文件,可以参考其他地方的文件进行拷贝

第三步:实例化spring容器

方法一:

在类路径下寻找配置文件来实例化容器

ApplicationContext ctx = new ClassPathXmlApplicationContext(new String[] {"bean.xml"});

该方法的构造参数可以有多个,但是当只有一个xml文件的时候,只要写bean.xml文件名

方法二:

不提倡使用该方法,因为其不具有适应性,测试时可以用

在文件路径下寻找配置文件来实例化容器

ApplicationContext ctx = new FileSystemXmlApplicationContext(new String[] {"d:\\bean.xml"});

Spring的配置文件可以有多个,通过string数组传入。

在此可以新建一个Junit测试类测试一下。

编写spring配置文件时,不能出现帮助提示

由于springschema文件位于网络上,如果机器不能联网,则无法提示,解决方法如下:

(1)让机器联网,eclipse会自动上载schema文件并缓存到本地的硬盘上

(2)手动添加schema文件

Windows-->preferences-->myeclipse-->files and editors -->xml -->xmlcatalog

点击add key Type中选择url

location中选文件系统File System,然后再spring解压缩目录的dist/resources目录中选择spring-beans-2.5.xsd

Key Type中选择shcema location

Key改为http://www.springframework.org/schema/beans/spring-beans-2.5.xsd

 

配置bean.xml文件

<bean id="personService" name="" class="com.sun.service.PersonService" />

java中通过上下文对象,根据beanid去获取容器创建需要的对象。

 

2.3. Bean实例化方式

(1)使用类构造器实例化

<bean id="personService"  class="com.sun.service.PersonServiceBean" />

(2)使用静态工厂方法实例化

新建一个工厂方法来创建Bean对象

public class BeanFactory{

public static PersonServiceBaen createBean(){

return new PersonServiceBean();

}

}

<bean 

id="personService"

class="com.sun.service.PersonServiceBean" 

factory-method="createBean" />

(3)使用工厂方法实例化

public class BeanFactory{

public PersonServiceBean createBean(){

return new PersonServiceBean();

}

}

<bean 

id="beanFactory"

class="com.sun.service.BeanFactory"  />

 

<bean 

id="personService"

factory-bean="beanFactory"

factory-method="createBean" />

 

Bean的作用域

@1. Singleton(默认单例模式)

在每个spring IOC 容器中,一个bean定义只有一个对象实例,默认情况下会在容器启动时初始化bean,但是我们可以指定bean节点的lazy-init="true" 来延迟初始化bean,这个时候只有第一次获取bean才会初始化bean,如:

<bean id="XXX" class="......" lazy-init="true" />

若想对所有bean都应用延迟初始化,如:

<beans default-lazy-init="true"></beans>

@2. Prototype

每次从容器中获取bean都是一个新对象

<bean ............scope="prototype" />

 

注意:属性init-method  destroy-method

正常关闭spring容器,需要使用一个抽象类AbstractApplicationContext

<!--EndFragment-->

分享到:
评论

相关推荐

    关于Spring学习总结

    Spring框架是Java开发中最常用的轻量级开源框架之一,它以其强大的依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)能力而著名。本篇将深入探讨Spring的核心概念、主要模块...

    Spring Security学习总结一

    为了演示Spring Security的配置和使用,我们可以构建一个简单的Web项目,使用MyEclipse导入Spring和Spring Security的相关JAR包,然后配置Spring Security来保护Web资源。在本例中,用户信息(用户名、密码和权限)...

    SpringSecurity学习总结一.pdf

    SpringSecurity学习总结一.pdf

    Spring学习笔记 自我总结

    spring学习笔记

    Spring Security 学习总结1_3

    Spring Security 是一个强大的且高度可定制的身份验证和访问控制框架,用于保护基于 Java 的应用程序。它提供了全面的安全解决方案,包括Web安全、方法调用安全、API安全等多个方面。Spring Security的核心功能包括...

    Spring学习技术总结

    课程学习时候的笔记总结,这里面没有代码部分,全是知识点的总结,方便大家去面试回答

    Spring MVC 学习记录总结1

    在这个学习记录总结中,我们将深入理解Spring MVC的核心概念、主要组件以及其工作流程。 1. Spring MVC 概述 Spring MVC 是Spring框架的一部分,它基于Spring IoC(Inversion of Control,控制反转)容器,简化了...

    【狂神说】spring PDF学习总结笔记 Spring5.pdf

    【狂神说】Spring PDF学习总结笔记主要涵盖了Spring框架的核心概念、优点、组成部分以及相关扩展。Spring是一个由Rod Johnson创建的开源框架,旨在简化企业级应用开发的复杂性,它结合了众多现有技术,如SSH(Struct...

    Spring学习总结笔记

    以上就是Spring学习笔记的初步概述,涵盖了Spring的基本架构、配置文件的创建和加载,以及依赖注入的主要方式。随着学习的深入,还可以涉及AOP、Spring MVC、Spring Boot、Spring Data等更高级的主题,从而更好地...

    Spring学习总结!

    《Spring学习深度剖析》 Spring框架作为Java领域最广泛应用的轻量级框架,以其强大的功能、灵活的设计和广泛的社区支持,成为了开发企业级应用的重要工具。这篇总结将深入探讨Spring的核心概念、主要特性以及实际...

    SpringSecurity学习总结源代码

    总结,SpringSecurity是一个功能强大的安全框架,它为开发者提供了安全Web应用的全套解决方案。通过理解并熟练运用其核心概念和组件,我们可以构建出安全、健壮的应用程序。在学习过程中,分析提供的源代码和示例将...

    Spring学习总结(不含整合其他框架)

    ### Spring学习总结(不含整合其他框架) #### 一、Spring框架简介 **Spring** 是一个开源框架,旨在简化企业级应用开发。通过使用Spring,即使是简单的JavaBean也可以实现原本只有EJB才能完成的功能。Spring的...

    Spring Security学习总结

    在"Spring Security学习总结一(补命名空间配置)"的文件中,可能涵盖了如何在Spring Security的XML配置中补充命名空间的步骤。命名空间的引入是为了简化配置,例如`&lt;http&gt;`元素用于配置安全拦截和访问规则,`...

    spring security 学习总结文档

    本学习总结文档主要针对初学者,旨在剖析一个不安全的应用程序并阐述如何通过 Spring Security 来提升安全性。 **一、一个不安全的应用程序的剖析** 1. **安全隐患** - 缺少 URL 保护和统一的认证可能导致权限...

    spring知识点总结

    “知识点总结.xls”可能是一个整理好的Spring框架关键知识点的表格,可能包含了Spring的主要模块(如Core Container、Data Access/Integration、Web、AOP、Test等)、关键概念(如Bean、ApplicationContext、IoC容器...

Global site tag (gtag.js) - Google Analytics