Spring基础入门

一、Spring概述

1.Spring是轻量级的开源的免费的JavaEE框架(容器);
2.Spring 是一个轻量级、非入侵式的框架;
3.Spring可以解决企业应用的开发的复杂性;
4.Spring有两个核心部分:控制反转(IOC),面向切面编程(AOP);
4.支持事务的处理,对框架整合的支持。
5.Spring特点:

  • 方便解耦,简化开发
  • Aop编程支持
  • 方便程序测试
  • 方便与其他框架进行整合
  • 方便进行事务操作
  • 降低API开发的难度

总结:Spring就是一个轻量级的控制反转(IOC)和面向切面编程(AOP)的框架。
6.拓展知识:

  • Spring Boot 是 Spring 的一套快速配置脚手架,可以基于Spring Boot 快速开发单个微服务;
  • Spring Cloud是基于Spring Boot实现的;
  • Spring Boot专注于快速、方便集成的单个微服务个体,Spring Cloud关注全局的服务治理框架;
  • Spring Boot使用了约束优于配置的理念,很多集成方案已经帮你选择好了,能不配置就不配置 , Spring Cloud很大的一部分是基于Spring Boot来实现,Spring Boot可以离开Spring Cloud独立使用开发项目,但Spring Cloud离不开SpringBoot,属于依赖的关系。
  • SpringBoot在SpringClound中起到了承上启下的作用,如果你要学习SpringCloud必须要学习SpringBoot。

二、Spring快速入门

2.1 Spring入门案例开发步骤

(1)导入Spring开发的基本坐标;
(2)编写Dao接口和实现类;(创建bean)
(3)创建Spring核心配置文件;
(4)在Spring配置文件中配置UserDaoImpl;
(5)使用Spring的API获得Bean实例。

2.2 Spring入门案例开发详细步骤

准备建立一个Maven工程的java或javaweb工程,详细步骤参见Maven工程的知识学习;
(1)导入Spring开发的基本坐标;

  • 在pom.xml中加入Spring的坐标
   <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>5.1.6.RELEASE</version>
   </dependency>

(2)编写Dao接口和实现类;

  • 在主程序中建立Dao接口
package com.itsheep.dao;
public interface UserDao {
    public void save();
}
  • 在主程序中建立实现类
package com.itsheep.dao.impl;
import com.itsheep.dao.UserDao;

public class UserDaoImpl implements UserDao {
    public void save(){
        System.out.println("HelloWorld!");
    }
}

(3)创建Spring核心配置文件;
(4)在Spring配置文件中配置UserDaoImpl;

  • 在resources中建立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 = "userDao" class="com.itsheep.dao.impl.UserDaoImpl"></bean>

</beans>

(5)使用Spring的API获得Bean实例。

package com.itsheep.demo;

import com.itsheep.dao.UserDao;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class UserDaoDemo {
    public static void main(String[] args) {
        ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
         //类型强转,ALT +ENTER
        UserDao userDao = (UserDao) app.getBean("userDao");
        userDao.save();
    }
}

输出:HelloWorld!

2.3 Spring入门案例步骤解析

Spring 的相关API
1)ClassPathXmlApplicationContext
它是从类的根路径下加载配置文件 推荐使用这种
2)FileSystemXmlApplicationContext
它是从磁盘路径上加载配置文件,配置文件可以在磁盘的任意位置。
3)AnnotationConfigApplicationContext
当使用注解配置容器对象时,需要使用此类来创建 spring 容器。它用来读取注解。

getBean方法使用:两个常用的API

public Object getBean(String name) throws BeansException {
assertBeanFactoryActive();
return getBeanFactory().getBean(name);
}

public <T> T getBean(Class<T> requiredType) throws BeansException {
assertBeanFactoryActive();
return getBeanFactory().getBean(requiredType);
}

第一种:

public class UserDaoDemo {
    public static void main(String[] args) {
        ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
        UserDao userDao = (UserDao) app.getBean("userDao"); //类型强转,ALT +ENTER
        userDao.save();
    }
}

第二种:

public class UserDaoDemo {
    public static void main(String[] args) {
        ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
        UserDao userDao = app.getBean(UserDao.class); 
        userDao.save();
    }
}

其中,当参数的数据类型是字符串时,表示根据Bean的id从容器中获得Bean实例,返回是Object,需要强转。
当参数的数据类型是Class类型时,表示根据类型从容器中匹配Bean实例,当容器中相同类型的Bean有多个时,
则此方法会报错。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值