zoukankan      html  css  js  c++  java
  • Spring(二)—— 快速入门

    一、编写流程

    1. 下载Spring开发包

    2. 导入Spring的jar包

    3. 配置Spring的核心xml文件

    4. 在程序中读取Spring的配置文件来收获Bean【Bean其实就是一个new好的对象】

    二、下载官网

    Spring现在有很多框架,如Spring、SpringMVC、SpringData、SpringBoot

    三、Spring核心jar包

    1. spring-core-3.2.2.RELEASE.jar

    包含Spring框架基本的核心工具类,Spring其它组件都要使用到这个包里的类,是其它组件的基本核心。

    2. spring-beans-3.2.2.RELEASE.jar

    所有应用都要用到的,它包含访问配置文件、创建和管理bean,

    以及进行Inversion Of Control(IOC)和Dependency Injection(DI)操作相关的所有的类。

    3. spring-context-3.2.2.RELEASE.jar

    Spring提供在基础IOC功能上的扩展服务,此外还提供许多企业级服务的支持,

    如邮件服务、任务调度、JNDI定位、EJB集成、远程访问、缓存以及各种视图层框架的封装等。

    4. spring-expression-3.2.2.RELEASE.jar

    Spring表达式语言。

    5. com.springsource.org.apache.commons.logging-1.1.1.jar

    第三方的主要用于处理日志。

    四、Spring入门案例

    第一步:下载Spring的jar包

    第二步:创建Web项目,导入Spring的jar包

    导入4个核心(core、beans、context、expression)+ 1个依赖(Commons-logging)

    第三步:写个简单的Service,并在main方法中调用

    第四步:Spring IOC控制反转创建实例

    1、写个配置文件beans.xml,配置文件的约束可以访问spring-framework-3.2.8.RELEASE-distspring-framework-3.2.8.RELEASEdocsspring-framework-referencehtmlxsd-config.html查看

    xml约束有两种方式:dtd和schema(后缀.xsd)

     2、离线配置文件约束提示的配置

    3. Beans.xml文件配置

    4. 从beans.xml中获取bean

    总结:

    【IOC】Inverse Of Control控制反转,就是将原本在程序中手动创建UserService对象的控制权,交由Spring框架管理,简单说,就是将创建UserService对象控制权被反转到了Spring框架。

    五、案例代码

    IUserService.java

    1 package com.gyf.service;
    2 
    3 public interface IUserService {
    4     public void add();
    5 }
    View Code

    UserServiceImpl.java

    1 package com.gyf.service;
    2 
    3 public class UserServiceImpl implements IUserService {
    4     @Override
    5     public void add() {
    6         System.out.println("创建用户。。。");
    7     }
    8 }
    View Code

    beans.xml

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"
     3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4        xsi:schemaLocation="
     5 http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
     6 
     7     <!--配置一个bean-->
     8     <bean id="userService" class="com.gyf.service.UserServiceImpl"></bean>
     9 
    10 </beans>
    View Code

    测试类:Lesson02.java

     1 package com.gyf.test;
     2 
     3 import com.gyf.service.IUserService;
     4 import com.gyf.service.UserServiceImpl;
     5 
     6 import org.junit.Test;
     7 import org.springframework.context.ApplicationContext;
     8 import org.springframework.context.support.ClassPathXmlApplicationContext;
     9 
    10 public class Lesson02 {
    11     @Test
    12     public void test1(){
    13         //方法一:以前用service
    14         IUserService userService = new UserServiceImpl();
    15         userService.add();
    16     }
    17 
    18     @Test
    19     public void test2(){
    20         //方法二:现在使用UserService方式从Spring容器获取
    21         //1.加载bean.xml这个Spring配置文件,内部就会创建对象
    22         ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
    23         //2.从Spring容器获取userService对象,通过id去找
    24         IUserService userService = (IUserService) context.getBean("userService");
    25         userService.add();
    26     }
    27 
    28     @Test
    29     public void test3(){
    30         //方法二:现在使用UserService方式从Spring容器获取
    31         //1.加载bean.xml这个Spring配置文件,内部就会创建对象
    32         ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
    33         //2.从Spring容器获取userService对象,通过id去找
    34         IUserService userService1 = (IUserService) context.getBean("userService");
    35         userService1.add();
    36 
    37         IUserService userService2 = (IUserService) context.getBean("userService");
    38         userService2.add();
    39 
    40         System.out.println(userService1);
    41         System.out.println(userService2);
    42         //结果,userService1和UserService2是同一个对象
    43     }
    44 }
    View Code
  • 相关阅读:
    【python之路39】Python 正则表达式
    【html、CSS、javascript-4】新特征之增强表单
    node调试工具--node-inspector安装
    node多版本管理--nvmw
    transform的影响
    HTML5 input事件检测输入框变化[转载]
    mysql5.7.16安装 初始密码获取及密码重置
    undefined 与void 0
    html 自定义标签使用实现方法
    图片轮播滚动
  • 原文地址:https://www.cnblogs.com/upyang/p/13557049.html
Copyright © 2011-2022 走看看