博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring基础
阅读量:5138 次
发布时间:2019-06-13

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

Spring

一、Spring的特点及概念

1. Spring:和一个开源框架

2. Spring为简化企业级开发而生,使用Spring就可以使简单的JavaBean实现以前只有EJB才能实现的功能。

3. Spring是一个IOC(DI)和AOP容器框架

4. Spring是一个容器,控制应用对象的生命周期

二、Spring架包

1.Spring-beans、Spring-context、Spring-core、

Spring-excression

三、案例HelloWord

                1.创建HelloWord类,并却添加hello()方法,必须要有无参构造器

                2.创建Main测试类

             3.配置HelloWord类的bean

                4.创建Spring的IOC容器对象

//创建Spring的IOC对象

ApplicationContext ctx=new ClassPathXmlApplication(“application.xml”);

//从IOC中获取Bean实例

HelloWord hello=(HelloWord)ctx.getBean(“helloword”, HelloWord.class);

//调取该类中的方法

hello. hello();

四、SpringIOC

概念:

SpringIOC(控制反转)对象不需要从容器中查询或者创建所需要的bean对象,容器会主动提供所需要的bean对象。

DI(依赖注入):依赖容器把资源注入给Spring bean对象。组件以及预先定义好的方式,接受来自容器的注入。

 

ApplicationContext主要实现类:

    ClassPathXmlApplicationContext:从类路径下加载xml文件配置

    FIleSystemXmlAplicationContext:从文件系统中加载配置文

ConfigurableApplicationContext

扩展于ApplicationContext新增的两个方法refresh()和close()让ApplicationContext具有启动、刷新和关闭上下文的能力。

类关系图

 

 

 

通过ID获取bean对象

a)  <bean id=”aqw1” class=”hellow”></bean>

 

有多个bean对象

b)  用类型返回IOC容器中的bean,要求是容器中只能有一个该类型的bean

c)  从IOC容器中利用id获取容器中的bean (多个bean对象)

属性注入:通过set方法注入Bean的属性值或者依赖的对象

d)  属性注入使用<property>元素使用name属性指定Bean的属性名称,value属性或者<value>子节点指定的属性值  

e)  属性注入是实际应用中常用的注入方式

 

构造方法来配置Bean的属性

f)  按照参数顺序:

<constructor-arg value=”123” index=”1”></constructor-arg>

<constructor-arg value=”232” index=”2”></constructor-arg>

 

g)  区分参数类型(指定参数的位置和类型区分重载的构造器)

<constructor-arg value=”阿斯顿” type=””></constructor-arg>

<constructor-arg value=”大大啊” type=””></constructor-arg>

Bean之间的关系(配置上 “继承”)  

h)  <bean id=”aqw1” class=”hellow”></bean>

<bean id=”aqw2” parent=” aqw1”></bean>

i)  将bean作为模板:

j)   <bean id=”aqw1” class=”hellow” abstract=”true”></bean>

抽象bean不能被实例化

k)  若一个bean的class没有被指定,则该bean是一个abstract  bean

 

Bean之间的依赖关系

l)   < property name=”取得名字” ref=”依赖的bean”/>

Bean的作用域(的值有关)

m)  scope=“prototype”,不是单例的,每次请求时,重新创建bean

n)  scope=“singleton”,是单例的,要重新创建bean,容器的默认scope=“singleton”,整个容器的生命周期中之创建一个。

 

 

Spring Bean外部属性文件(datasource)
  • o)  Spring bean文件配置

                         i.      c3po配置(连接数据库)

<!—导入数文件-->

    <context:property-placeholder location=”classpath:db.properties”>

    <bean id=”dataSource” class=”com.mchange.v2.c3p0.ComboPooledDataSource”>

      <property name=”user” value=”${user}”></property>

      <property name=”password” value=”${password}”></property>

      <property name=”driverClass” value=”${

driverClass }”></property>

      <property name=”url” value=”${

jdbcurl }”></property>

    </bean>

 

                       ii.      数据库资源库配置(db.properties)文件

user=root

password=1230

driverClass=com.mysql.jdbc.Driver

jdbcurl=jdbc:mysql:///test

               iii.      Spring Bean导入文件db.properties

转载于:https://www.cnblogs.com/2070393244com/p/9458095.html

你可能感兴趣的文章
PAT: 1003 Emergency
查看>>
关于阅读书籍的一点点感悟
查看>>
ionic Hide tabs 实现
查看>>
团队编程项目进度
查看>>
Python的全局解释锁(GIL)
查看>>
hdu 1042
查看>>
文件完整性校验
查看>>
Hiberbate 集合属性
查看>>
使用maven属性变量和配置文件
查看>>
jQuery 源码解析二:jQuery.fn.extend=jQuery.extend 方法探究
查看>>
RequestMethod.DELETE相关,如何用jquery实现RequestMethod.DELETE请求
查看>>
正则表达式获取URL参数
查看>>
一分钟学会Xmind
查看>>
iOS开发基础篇-Button基础
查看>>
Excel-在整个工作簿中查找/替换
查看>>
eclipse 快捷键
查看>>
[原]sdut2605 A^X mod P 山东省第四届ACM省赛(打表,快速幂模思想,哈希)
查看>>
Android深度探索第十章
查看>>
Brief introduction to Scala and Breeze for statistical computing
查看>>
P1501 [国家集训队]Tree II
查看>>