spring快速入门

简介: spring快速入门

1 Spring程序开发步骤

①导入 Spring 开发的基本包坐标

②编写 Dao 接口和实现类

③创建 Spring 核心配置文件

④在 Spring 配置文件中配置 UserDaoImpl

⑤使用 Spring 的 API 获得 Bean 实例

注意事项:

之后无法注入

 

2 导入Spring开发的基本包坐标

    <properties>
        <spring.version>5.0.5.RELEASE</spring.version>
    </properties>
    <!--导入spring的context坐标,context依赖core、beans、expression-->
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>
    </dependencies>

3 编写Dao接口和实现类

public interface UserDao {
    public void save();
}
public class UserDaoImpl implements UserDao {
    public void save() {
        System.out.println("UserDao save method running....");
    }
}

4 创建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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
</beans>

5 在Spring配置文件中配置UserDaoImpl

<bean id="userDao" class="com.zgl.dao.impl.UserDaoImpl"></bean>

6 使用Spring的API获得Bean实例

package com.zgl.demo;
import com.zgl.dao.UserDao;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class UserDaoDemo {
    public static void main(String[] args) {
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
        UserDao userDao = (UserDao) applicationContext.getBean("userDao");
        userDao.save();
    }
}

7 项目结构

8 运行效果

9 Spring注解之@Autowired:Setter 方法上使用@Autowired注解

可以在 JavaBean中的 setter 方法中使用 @Autowired 注解。当 Spring遇到一个在 setter 方法中使用的 @Autowired 注解时,它会在方法中按照类型自动装配参数值。创建测试类User,并且添加属性student,

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.io.Serializable;
/**
 * @author oldlu
 */
@Component
public class User implements Serializable {
    private static final long serialVersionUID = 6089103683553156328L;
    private Long id;
    private Student student;
    public Student getStudent() {
        return student;
    }
    @Autowired
    public void setStudent(Student student) {
        this.student = student;
    }
    public void isStu() {
        student.studentStudy();
        System.out.println("------ 装配Bean成功 ---------");
    }
}

下面创建依赖的类文件 Student.java,切莫忘记在类文件上添加注解 @Component:


import lombok.Getter;
import lombok.Setter;
import org.springframework.stereotype.Component;
import java.io.Serializable;
import java.util.Date;
/**
 * @author oldlu
 */
@Getter
@Setter
@Component
public class Student implements Serializable {
    private static final long serialVersionUID = -5246589941647210011L;
    //姓名
    private String name;
    public Student() {
        System.out.println("A default student constructor." );
    }
    public void studentStudy() {
        System.out.println("A student is studying." );
    }
}

修改Spring Boot启动类,通过Spring容器拿到Bean实例user:

import com.east7.bean.User;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;
/**
 * @author oldlu
 */
@SpringBootApplication
public class East7Application {
    public static void main(String[] args) {
       ApplicationContext act = SpringApplication.run(East7Application.class, args);
       User user = (User) act.getBean("user");
       user.isStu();
    }
}

启动应用程序,控制台将会输出以下消息:

A default student constructor.
A student is studying.
------ 装配Bean成功 ---------

说明student属性被装配成功。如果setStudent方法不加注解,程序运行时,会抛出如下异常:

Exception in thread "main" java.lang.NullPointerException
    at com.east7.bean.User.isStu(User.java:28)
    at com.east7.East7Application.main(East7Application.java:25)
目录
相关文章
|
存储 缓存 NoSQL
快速入门:Spring Cache
快速入门:Spring Cache
85 0
|
前端开发 Java 应用服务中间件
Spring Boot -01- 快速入门篇(详解图文教程)下
Spring Boot -01- 快速入门篇(详解图文教程)
|
开发框架 Java Maven
Spring Boot -01- 快速入门篇(详解图文教程)上
Spring Boot -01- 快速入门篇(详解图文教程)
|
1月前
|
开发框架 Java API
「SpringBrick快速入门指南」:一款基于Spring Boot的高级插件化开发框架
「SpringBrick快速入门指南」:一款基于Spring Boot的高级插件化开发框架
56 0
|
4月前
|
XML Java API
Spring Boot快速入门指南
Spring Boot快速入门指南
|
存储 Java 数据库
Spring快速入门
Spring快速入门
|
安全 Java 数据安全/隐私保护
Spring Security快速入门
Spring Security快速入门
149 0
|
JSON Java API
Spring Boot之Jackson快速入门,你必须得会!
在上一期《SpringBoot之Jackson配置全局时间日期格式》文中提到Jackson,了解到有很多小伙伴对它很感兴趣;顾这一期,我就重点带着大家以最基础的教学方式领大家入门,废话不多说,咱们这就开始。
|
前端开发 安全 Java
Spring Boot介绍--快速入门--约定优于配置
Spring Boot介绍--快速入门--约定优于配置
119 0
|
SQL Java 程序员
Spring事务管理 -- Spring快速入门保姆级教程(五)(2)
Spring事务管理 -- Spring快速入门保姆级教程(五)
116 0
下一篇
无影云桌面