Spring

Spring概述

  1. Spring是一个开源框架
  2. Spring为简化企业级开发而生,使用Spring,javaBean就可以实现很多以前要靠EJB(Enterprise JavaBean)才能实现的功能。同样的功能,在EJB中通过繁琐的配置和复杂的代码才能够实现,而在Spring中却非常的优雅和简洁。
  3. Spring是一个IOC(控制反转)和AOP(面向切面编程)容器框架。
  4. Spring的优良特性
    ①非侵入式:基于Spring开发的应用中的对象可以不依赖于Spring的Api(实现接口或者继承类,又叫做轻量级的)
    ② 依赖注入:DI——Dependency Injection,反转控制(IOC)最经典的 实现。
    ③ 面向切面编程:Aspect Oriented Programming——AOP
    ④ 容器:Spring是一个容器,因为它包含并且管理应用对象的生命周期
    ⑤ 组件化:Spring实现了使用简单的组件配置组合成一个复杂的应用。在 Spring 中可以使用XML和Java注解组合这些对象。
  5. 5)一站式:在IOC和AOP的基础上可以整合各种企业应用的开源框架和优秀的第三方类库(实际上Spring 自身也提供了表述层的SpringMVC和持久层的Spring JDBC)。

Spring使用

  1. 创建项目后,在pom.xml文件中导入依赖
    pom.xml的依赖如下:
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.11</version>
    <scope>test</scope>
  </dependency>
  <!-- Spring依赖 -->
  <!-- 1.Spring核心依赖 -->
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
    <version>4.3.2.RELEASE</version>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>4.3.7.RELEASE</version>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-beans</artifactId>
    <version>4.3.7.RELEASE</version>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>4.3.7.RELEASE</version>
  </dependency>
  <!-- 2.Spring dao依赖 -->
  <!-- spring-jdbc包括了一些如jdbcTemplate的工具类 -->
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>4.3.7.RELEASE</version>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-tx</artifactId>
    <version>4.3.7.RELEASE</version>
  </dependency>
  <!-- 3.Spring web依赖 -->
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>4.3.7.RELEASE</version>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>4.3.7.RELEASE</version>
  </dependency>
  1. 在main下新建一个resources并将它Mark,操作如下
    在这里插入图片描述
    在创建完的resources下,引入配置文件applicationContext.xml
    配置文件的内容:
<?xml version="1.0" encoding="UTF-8"?>

<bean id="user" class="com.dahua.pojo.User">
    <property name="id" value="1001"></property>
    <property name="name" value="tom"></property>
    <property name="password" value="tom123"></property>
    <property name="fired">
        <list>
            <value>大满</value>
            <value>小满</value>
        </list>
    </property>
</bean>
<bean id="user1" class="com.dahua.pojo.User">
    <constructor-arg value="1002"></constructor-arg>
    <constructor-arg value="waiwai"></constructor-arg>
    <constructor-arg value="waiwai123"></constructor-arg>
</bean>
<bean id="user2" class="com.dahua.pojo.User" p:id="1003" p:name="xiaozhou" p:password="zhou123">

</bean>
  1. 在java代码com.dahua.pojo包下创建实体类
    User类,代码如下
package com.dahua.pojo;

import java.util.List;

public class User {
    private int id;
    private String name;
    private String password;
    private List<String> fired;


    public List<String> getFired() {
        return fired;
    }

    public void setFired(List<String> fired) {
        this.fired = fired;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

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

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public User(int id, String name, String password) {
        this.id = id;
        this.name = name;
        this.password = password;
    }

    public User() {
    }
}

  1. 创建测试类,
      package com.dahua.test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.dahua.pojo.User;

public class Demo {

    public static void main(String[] args) {

//        使用spring反射  getset方式
        ApplicationContext ApplicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
        User user =(User) ApplicationContext.getBean("user");
        System.out.println(user.getName());
        user.setName("jack");
        System.out.println(user.getName());
        System.out.println(user.getFired().get(0));

        //构造方法
//        ApplicationContext ApplicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
//        User user =(User) ApplicationContext.getBean("user1");
//        System.out.println(user.getName());

//        ApplicationContext ApplicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
//        User user =(User) ApplicationContext.getBean("user2");
//        System.out.println(user.getName());

//        ApplicationContext ApplicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
//        UserServiceImp userServiceImp =(UserServiceImp) ApplicationContext.getBean("userService");
//        userServiceImp.service();
    }
}

下面就是测试结果
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值