博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring入门-------------1
阅读量:5934 次
发布时间:2019-06-19

本文共 3179 字,大约阅读时间需要 10 分钟。

Spring是一个开源框架,为简化企业级应用开发而生,使用Spring可以使简单的JavaBean 实现以前只有EJB才能实现的功能。Spring 是一个IOC和Aop容器框架。

特性:

轻量级Spring 是非侵入性的 - 基于 Spring 开发的应用中的对象可以不依赖于 Spring 的 API

依赖注入(DI --- dependency injection、IOC)

面向切面编程(AOP --- aspect oriented programming)

容器: Spring 是一个容器, 因为它包含并且管理应用对象的生命周期

框架: Spring 实现了使用简单的组件配置组合成一个复杂的应用. 在 Spring 中可以使用 XML 和 Java 注解组合这些对象

一站式:在 IOC 和 AOP 的基础上可以整合各种企业应用的开源框架和优秀的第三方类库 (实际上 Spring 自身也提供了展现层的 SpringMVC 和 持久层的 Spring JDBC)

 创建maven工程:

修改pom.xml,引入jar包

4.0.0
com.xt
spring.ioc
war
0.0.1-SNAPSHOT
spring.ioc Maven Webapp
http://maven.apache.org
junit
junit
4.12
test
log4j
log4j
1.2.17
commons-logging
commons-logging
1.2
org.springframework
spring-context
4.3.10.RELEASE
org.springframework
spring-context
4.3.10.RELEASE
spring.ioc

创建一个Apple类:

package com.xt.spring.ioc;public class Apple extends Fruit{    String name="苹果";    public void appleInit(){        System.out.println("Apple还没有生产");    }    public void appleDestroy(){        System.out.println("Apple结束生产");    }}

配置spring文件,即在src/main/resources下创建Spring文件夹,再文件夹中创建applicationContext.xml文件(也可以只在在src/main/resources下创建,不过这样做回事文件混乱)

 

--> 

最后创建一个测试类,

package com.xt.spring.ioc;import org.junit.Before;import org.junit.Test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;/** * IOC容器中对象的实例化过程: * 1、IOC容器实例化 * 2、IOC实例化完成之后,立刻开始实例化IOC容器中配置的javaBean * 3、使用javaBean *  * 在spring IOC 容器中每个类默认只会生产一个Bean,也就单例模式。 * */public class test { private ApplicationContext ioc; @Before public void iocInit(){     ioc = new ClassPathXmlApplicationContext("Spring/applicationContext.xml"); } @Test public void iocTest(){     Apple a = ioc.getBean("apple",Apple.class);     Apple a1 = ioc.getBean("apple",Apple.class);     System.out.println("======="+(a==a1));     //Orange o = ioc.getBean("orange",Orange.class);     a.eat(); }}

 

在Spring中,可以在<bean>元素的scope属性里设置Bean的作用域。

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

Prototype: 每次从容器中获取bean都是新的对象。

Request: 每次http请求都会创建一个新的bean,该作用域只适用于WebApplicationContext环境。

Session:类似Request,每次有新的绘画都会创建一个新的bean,该作用域只适用于WebApplicationContext环境。

转载于:https://www.cnblogs.com/zzu-general/p/8732589.html

你可能感兴趣的文章
intellij idea 查找级联调用的方法
查看>>
Symmetric Order
查看>>
数据挖掘三大方向回归、分类、聚类的区别及应用场景
查看>>
svn删除所有.svn文件
查看>>
android初级篇之apk签名key keystore格式转pk8+x509.pem
查看>>
Log4J日志配置详解
查看>>
topcoder srm 520 div1
查看>>
React Native学习笔记-1:JSC profiler is not supported.(转载)
查看>>
如何解决由浏览器记住密码的默认行为带来的密码下拉选项问题
查看>>
eclipse IDE WTP
查看>>
【引用】mysql编码设置
查看>>
windows7所有版本迅雷地址下载集合(含32位和64位)
查看>>
Django中static文件的引入
查看>>
堆栈操作合法性
查看>>
openssl evp 哈希算法(md5,sha1,sha256)
查看>>
20/6/2019
查看>>
源码解析Django CBV的本质
查看>>
秦涛:深度学习的五个挑战和其解决方案
查看>>
JavaScript编码指南
查看>>
用Jquery Widgets Factory写自己的表格控件——AFGrid(支持增、删、改)
查看>>