赤霉素处理八角金盘种子能够提高发芽率吗? 当前位置:首页>赤霉素处理八角金盘种子能够提高发芽率吗?>正文

赤霉素处理八角金盘种子能够提高发芽率吗?

发布时间:2019-04-22

原标题:【SSH框架】之Spring系列(一)

语声虽轻,但却不知运用了何种神通,一股法力如清风拂面,将众人向后方推去。众人怎能不识趣,显然老庄要和如来大战一场,唯恐伤了他们,才叫他们退后的。

果岭草优点是什么?

令狐飞亲手给杨国忠倒了杯茶,微微一笑道:“不瞒尚书,裴晓调到安西军的调令我下午已经批了,这件事无法挽回。”
这时,天空却传来一声哭喊,一只彩鸾降落,有人跳了下来,使劲敲打着早已冻结的湖面。

雪夜大帝微笑道:“这是好事。只是不知道唐宗主这一去要多长时间?”

微信公众号:compassblog

欢迎关注、转发,互相学习,共同进步!

有任何问题,请后台留言联系!

1、前言

前面更新过几篇关于 Struts2 框架和 Hibernate 框架的文章,但鉴于这两种框架在今天的主流开发中已经很少用了,所以关于这两种框架的更新权当兴趣,有时间也还会更新的。现在主流开发中代替这两个框架的是 SpringMVC 和 MyBatis 等等,接下来主要精力集中于 Spring、SpringMVC、Spring Boot 等等,特别是 Spring Boot 框架,当然肯定也会有其他方面的内容,知无不写,写无不尽。

2、Spring 框架概述

(1)、Spring 框架在三层架构中的位置

Spring 框架在三层架构中的位置在【【SSH框架】之Hibernate系列(一)】这篇文章中已经提到过,主要描述与下图:

(2)、Spring 是什么

Spring 是一个轻量级的 Java 开源框架,兴起于2003年,它分层架构的特点为 J2EE 应用程序开发提供集成的框架。Spring 的核心是控制反转(IOC)和面向切面(AOP),是一个一站式的框架。

(3)、Spring 框架的优势与功能(一站式)

  • Spring 相当于一个容器,可以将所有对象创建和依赖关系维护,交给 Spring 管理 
    AOP 编程的支持,容器中装什么对象就有什么功能。

  • Spring 提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能声明式事务的支持只需要通过配置就可以完成对事务的管理,而无需手动编程,使得程序的测试更为方便。

  • Spring 不仅不排斥各种优秀的开源框架,如:Struts、Hibernate、MyBatis等,还能帮其他框架管理对象,降低 JavaEE API 的使用难度。

  • Spring 对 JavaEE 中的 API 如 JDBC、JavaMail等提供了封装,使这些 API 应用难度大大降低。

  • Spring 支持 JUnit 测试支持,可以通过注解方便的测试 Spring 程序方便集成各种优秀框架。

3、搭建 Spring 开发环境并完成第一个测试实例

(1)、新建一个 web 项目,导入 Spring 所需要的基本包,如下图所示:

(2)、创建一个 Bean 对象,代码如下:

package com.spring.bean;

public class Student {
   //基本属性
   private String name; //姓名
   private int age;    //年龄
   private String grade;   //年级
   private String course;  //科目
   private int rank;   //排名

   //setter和getter方法
   public String getName() {
       return name;
   }
   public void setName(String name) {
       this.name = name;
   }
   public int getAge() {
       return age;
   }
   public void setAge(int age) {
       this.age = age;
   }
   public String getGrade() {
       return grade;
   }
   public void setGrade(String grade) {
       this.grade = grade;
   }
   public String getCourse() {
       return course;
   }
   public void setCourse(String course) {
       this.course = course;
   }
   public int getRank() {
       return rank;
   }
   public void setRank(int rank) {
       this.rank = rank;
   }

}

(3)、在 src 下新建配置文件 applicationContext.xml,将注册对象写入容器,代码如下:

applicationContext.xml

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

   <!-- 将User对象交给spring容器管理 -->
   <bean  name="stu" class="com.spring.bean.Student" ></bean>

</beans>

(4)、书写测试类 TestDemo.java,代码如下:

package com.spring.test;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.spring.bean.Student;

public class TestDemo {

   @Test
   public void test(){
       // 创建容器对象
       ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");

       // 向容器获取user对象
       Student student = (Student) ac.getBean("stu");

       //3打印stu对象
       System.out.println(student);
   }
}

(5)、使用 JUnit4 进行测试,结果如下图:

 

本项目运行环境:jdk1.7

4、Spring 配置详解

<!-- Bean元素:使用该元素描述需要spring容器管理的对象
           class属性:被管理对象的完整类名.
           name属性:给被管理的对象起个名字.获得对象时根据该名称获得对象.  
                   可以重复.可以使用特殊字符.
           id属性: 与name属性一模一样.
                   名称不可重复.不能使用特殊字符.
           结论: 尽量使用name属性.
-->
<bean  name="stu" class="com.spring.bean.Student" ></bean>
<!--
可以通过import属性导入其他spring配置文件
<import resource="路径/*.xml"/>
-->

5、Spring 框架的思想

(1)、IOC:Inverse Of Control,即控制反转,将对象创建的方式交给了 Spring 容器;

(2)、DI:Dependency Injection,即依赖注入,IOC 的实现需要 DI 支持。

6、Spring 属性注入

(1)、set方法注入:

<bean  name="stu" class="com.spring.bean.Student" >
       <!--值类型注入: 为stu对象中名为name的属性注入"孔乙己"作为值 -->
       <property name="name" value="孔乙己" ></property>
       <property name="age"  value="22" ></property>
       <property name="grade"  value="大三" ></property>
       <property name="rang"  value="1" ></property>
       <!-- 引用类型注入: 为course属性注入下方配置的course对象 -->
       <property name="course"  ref="course" ></property>
   </bean>

   <!-- 将course对象配置到容器中 -->
   <bean name="course" class="com.spring.bean.Course" >
       <property name="name" value="Java开发" ></property>
       <property name="page" value="889" ></property>
   </bean>

(2)、构造函数注入:

<bean name="stu1" class="com.spring.bean.Student" >
   <!-- name属性: 构造函数的参数名 -->
   <!-- index属性: 构造函数的参数索引 -->
   <!-- type属性: 构造函数的参数类型-->
   <constructor-arg name="name" index="0" type="java.lang.Integer" value="compasser"  ></constructor-arg>
   <constructor-arg name="course" ref="course" index="1" ></constructor-arg>
</bean>

 

关注微信公众号compassblog,后台回复 “Spring系列一” 获取本项目源码

 

您可能还喜欢:

  • 【SSH框架】之Hibernate系列(一)

  • 【SSH框架】之Struts2系列(二)

  • 【SSH框架】之Struts2系列(一)

  • 前端系列之JavaScript基础知识概述

  • 前端系列之CSS基础知识概述

 

本系列后期仍会持续更新,欢迎关注!

 

如果你认为这篇文章有用,欢迎转发分享给你的好友!

 

本号文章可以任意转载,转载请注明出处!

 

扫码关注微信公众号,了解更多

 

编辑:丁扁

发布:2019-04-22 04:20:45

当前文章:http://www.aluminumalloyformwork.com/content/201901/26/content_21089.html

植物爬山虎种子哪里有卖的? 广东可以种蒲公英吗? 八月还能种植国槐吗? 湖南哪里有卖蓝花楹种子的? 十月还能种植玉兰树吗? 12月可以播种牛蒡种子吗? 圆柏是常绿还是落叶? 1.5公分青竹什么地方最便宜?

38573 30124 49663 83506 58017 96484 15924 79448 99466 20289 52452 24618 57449 86040 71583 19823 53746 44776 83725 64228

责任编辑:道建道徒