航宇国际线上娱乐 当前位置:首页>航宇国际线上娱乐>正文

航宇国际线上娱乐

发布时间:2018-10-24

原标题:初学者易上手的SSH-spring 01控制反转(IOC)

如果你是客户端读者,看到本章节。可以过十五二十分钟后,在本书目录之中重新下载错误章节,也可以将本书从书架删除后重新加入。

菲律宾环球国际娱乐

大将得到恶魔果树能发挥的每一颗恶魔果实的力量都等同于每一颗恶魔果实都开发到大将层次的地步,我这么说你们都应该明白,只要你的实力有四皇那么强,那么每一颗恶魔果实的力量都等同于一尊四皇强者吃下那一颗恶魔果实之后开发到四皇层次所能发挥的力量。
钟化等人不解地看着他,不明白他为什么变得这么快。灵凝却抿着嘴儿,悻悻地道:“你不是师父,你是小方。”

“他只有一个人,我们有那么多个人,就不信拼不过赢。“雷影率先使用类似八门遁甲的秘术,他的身体强大,就算使用八门遁甲也完全能开到六门,只不过他的术不是八门遁甲,不过原理都是一样,短时间内让实力暴涨,而其他人也是如此。

这章开始学习SSH中最后的一个框架spring。Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。

首先就来学习一下IOC,它的好处就是降低了耦合,主要是通过bean之间的依赖关系尽可能地抓换为关联关系。

那么来基于maven项目来配置一个spring吧。

首先可以下载一个spring的插件:可在eclipse->Help->Eclipse Marketplace中搜索spring,然后找到spring tools进行下载即可,其它下载方式就不过多介绍了。

第一步:maven项目中的pom.xml中导入spring的依赖:spring-context,我以4.3.10版本为例

<!-- spring-context 依赖 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.3.10.RELEASE</version>
        </dependency>

第二步:在src/main/resources文件夹下建立一个xml,取名为applicationContext.xml。在里面加上spring表头文件,如下

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx" 
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">

</beans>


标签的解释:
xmlns=XML Name space
xmlns: 关于初始化bean的格式文件地址
xmlns:xsi: 辅助初始化bean
xsi:context: 关于spring上下文,包括加载资源文件
xmlns:tx 事务标签的约束
xmlns:aop    aop(面向切面)标签的约束
xsi:schemaLocation: 用于声明了目标名称空间的模式文档

第三步:新建一个人的类,给上name,age属性,封装构造,tostring即可。

第四步:开始配置一个bean,来实现IOC。在applicationContext.xml,配置如下:

    <bean id="person" class="com.entity.Person"></bean>
//id为这个bean的名称自己定义就好,class为要配置类的全限定路径
//当然也可以使用name属性来代替id属性,name属性可以使用特殊符号来定义名称

第五步:再建立一个类,用main方法或者用junit的@Test来进行测试,测试代码如下

    // 延时加载(懒加载) 返回的对象只有一个 单列模式
        // 加载文件
         BeanFactory factory = new XmlBeanFactory(new
         ClassPathResource("applicationContext.xml"));
         获取bean对象
         Person p = (Person) factory.getBean("person");
         System.out.println(p);
    // 及时加载   一个bean能够创建多个对象
        ApplicationContext aContext = new ClassPathXmlApplicationContext("applicationContext.xml");
        // 获取bean对象
        Person p = (Person) aContext.getBean("person");
        System.out.println(p);

这样一个简单的bean就配置完了。

我们可以在bean后面加上一个属性scope以及init-method属性。

scope属性值:

singleton(默认值) 

在每个Spring Ioc容器中一个bean定义对应一个对象实例(单例模式)
prototype
一个bean定义对应多个对象实例.
request
在一次HTTP请求中,一个bean定义对应一个实例;即每次HTTP请求将会有各自的bean实例,它们依据某个bean定义创建而成。该作用域仅在基于web的Spring ApplicationContext情形下有效.
session
在一个HTTP Session中,一个bean定义对应一个实例。该作用域仅在基于web的Spring ApplicationContext情形下有效。
global session
在一个全局的HTTP Session中,一个bean定义对应一个实例。典型情况下,仅在使用portlet context的时候有效。该作用域仅在基于web的Spring ApplicationContext情形下有效.

 

init-method属性的意思是这个bean初始化的时候调用哪个方法,属性值为bean对应这个类中的方法名即可。

接下来看下注入方式:

 首先bean标签里面添加property标签,name对应属性名称,value对应属性值

1.比如给这个对象的属性设置默认值

 <bean id="person" class="com.entity.Person">
<!--属性设置默认值 -->
        <property name="name" value="哈哈"></property>
        <property name="age" value="11"></property>
</bean>

2.注入一个集合(set,list),以list为例

在persion类中加上一个lsit<string>的属性,封装

注入:

<bean id="person" class="com.entity.Person">
//ls为list<string>的变量名
    <property name="ls">
            <list>
                <value>谷歌</value>
                <value>呵呵</value>
                <value>嘻嘻</value>
            </list>
        </property>
</bean>

3.构造注入

//构造注入时,实体类中需存在相应的构造方法
<bean id="person" class="com.entity.Person"> <constructor-arg name="name" value="1"></constructor-arg> <constructor-arg name="age" value="18"></constructor-arg> </bean>

4.注入对象

新建实体类card,给上cid,cname两个属性,封装构造。

在applicationContext.xml中增加一个bean

    <bean id="card" class="com.entity.Card" >    </bean>

card类中加上persion对象属性,封装。

然后在card的bean中注入

 <bean id="card" class="com.entity.Card" >   
//name 对象变量名
    <property name="person">
//ref对应属性类在bean的标签ID
            <ref bean="person" />
//idref元素的功能与<value>类似,只是idref多了验证的功能
<!-- <idref bean="person" /> --> </property> </bean>

测试我这里就没试了。除了上面这几种注入,还可以百度看看静态工厂的方法注入以及实例工厂的方法注入。

本章结束!

 

编辑:建海董顺

发布时间:2018-10-24 00:00:00

当前文章:http://neomi.cn/mozuo/13312.html

多乐送100元老虎机挑战赛 多线老虎机投注规则 老虎机 投币 水果 新老虎机下载 网上老虎机输30万 mg娱乐娱城 大奖娱乐官网ptpt9com 

77229 28287 40963 22461 72391 5795718642 23665 14205

责任编辑:丁卓