Spring--Spring入门

2021-07-13 13:06

阅读:815

标签:1.0   工厂   编程   spring   ase   group   get   his   项目   

Spring的概述-什么是Spring

  • ·Spring 是一个开源框架
  • ·Spring 为简化企业级应用开发而生.使用Spring可以使简单的
  • JavaBean 实现以前只有EJB才能实现的功能
  • ·Spring 是JavaSE/EE的一站式框架

Spring的概述-什么是Spring

  • ·方便解耦,简化开发
  • -Spring就是一个大工厂,可以将所有对象创建和依赖关系维护,交给Spring管理
  • ·AOP编程的支持
  • -Spring提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能
  • ·声明式事务的支持
  • -只需要通过配置就可以完成对事务的管理,而无需手动编程

Spring的概述-Spring的优点

  • ·方便程序的测试
  • -Spring对Junit4支持,可以通过注解方便的测试Spring程序
  • ·方便集成各种优秀框架
  • -Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:Struts、Hibernate、MyBatis等)的直接支持
  • ·降低JavaEEAPI的使用难度
  • -Spring 对JavaEE开发中非常难用的一些API(JDBC、JavaMail、远程调用等),都提供了封装,使这些API应用难度大大降低

Spring的概述-Spring的模块

技术分享图片

 

Spring的Ioc的底层实现

技术分享图片

 Spring的Ioc的入门案例

  • 使用idea创建新的maven项目
  • 在pom.xml中添加依赖
dependencies>
  dependency>
    groupId>junitgroupId>
    artifactId>junitartifactId>
    version>4.11version>
    scope>testscope>
  dependency>
  dependency>
    groupId>org.springframeworkgroupId>
    artifactId>spring-coreartifactId>
    version>4.3.7.RELEASEversion>
  dependency>
  dependency>
    groupId>org.springframeworkgroupId>
    artifactId>spring-contextartifactId>
    version>4.3.7.RELEASEversion>
  dependency>
  dependency>
    groupId>org.springframeworkgroupId>
    artifactId>spring-beansartifactId>
      version>4.3.7.RELEASEversion>
  dependency>
    dependency>
        groupId>org.springframeworkgroupId>
        artifactId>spring-expressionartifactId>
      version>4.3.7.RELEASEversion>
    dependency>
  dependency>
    groupId>commons-logginggroupId>
    artifactId>commons-loggingartifactId>
    version>1.2version>
  dependency>
  dependency>
    groupId>log4jgroupId>
    artifactId>log4jartifactId>
    version>1.2.17version>
  dependency>
dependencies>
  • 建包

技术分享图片

 

UserService

public interface UserService {

    public void sayHello();
}

  UserServiceImpl

public class UserServiceImpl implements  UserService{
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    //添加属性
    private String name;
    @Override
    public void sayHello() {
        System.out.print("hello spring" + name);
    }
}

  SpringDemo1

public class SpringDemo1 {
    @Test
    /**
     * 传统方式开发
     */
    public void demo1(){
        //UserService userService = new UserServiceImpl();
        UserServiceImpl userService = new UserServiceImpl();
        //设置属性 传统方法要改代码 就不好了
        userService.setName("张三");
        userService.sayHello();
    }

    @Test
    /**
     * 使用Spring 的方式
     */
    public void demo2(){
        //创建Spring的工厂
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
        //通过工厂获得类
        UserService userService = (UserService) applicationContext.getBean("userService");

        userService.sayHello();
    }
}

   applicationContext.xml

 

技术分享图片

 

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

    
    bean id="userService" class="com.windbag.ioc.demo1.UserServiceImpl">

        
        property name="name" value="李四">property>
    bean>

beans>
  • 测试

技术分享图片

Spring IOC的快速入门案例

  • ·IOC Inverse of Control 反转控制的概念,就是将原本在程序中手动创建UserService对象的控制权,交由Spring框架管理
  • ·简单说,就是创建UserService对象控制权被反转到了Spring框架
  • ·DI Dependency Injection 依赖注入的概念,就是在Spring创建这个对象的过程中,将这个对象所依赖的属性注入进去。(name)

 

Spring--Spring入门

标签:1.0   工厂   编程   spring   ase   group   get   his   项目   

原文地址:https://www.cnblogs.com/windbag7/p/9542300.html


评论


亲,登录后才可以留言!