一、框架
什么是框架
通常指为实现某个业界标准或完成特定基本任务的软件组件规范,
也指为了实现摸个软件组件规范时,提供规范所要求之基础功能的软件产品。
框架的特点
- 半成品
- 封装了特定的处理流程和控制逻辑
- 成熟的、不断升级改进的软件
为什么使用框架
- 软件系统日趋复杂
- 重用度高,开发效率和质量极高
- 软件设计人员要专注与对领域的了解,使需求分析更明确
- 易于上手、快速解决问题
二、接口
- 用于沟通的中介物的抽象化
- 实体把自己提供给外界的一种抽象化的说明,用以内部操作分离出外部沟通方法,使其能修改内部
- 而不影响外界其他实体与其交互的方式
- 对应Java接口即声明,声明了哪些方法是对外公开提供的
- 在Java8中,接口可以拥有方法体
面向接口编程:
- 结构设计中,分清层次调用关系,每层只向外层提供一组接口,各层之间依赖接口而非实现类。
- 接口实现的变动不影响各层之间的调用,这在公共服务中尤为重要
- ”面向接口编程“中的接口是用于隐藏具体实现和实现多态性的组件
三、Spring
1.1 IOC 控制反转
其思想是反转资源获取的方向。
应用了IOC之后,则是容器主动的将资源推送给他所管理的组件,组件所要做的仅仅是选择一种合适的方法接受资源。这种行为也被称为查找的被动形式
1.2 DI 依赖注入
IOC的另一种表示方式:即组件以一些预先定义好的方式(如:setter方法)
接受来自容器的资源注入
1.3 AOP 面向切面编程
专门用于处理系统中各个模块的交叉关注点的问题
1.4 环境构建 (可参考http://www.jikexueyuan.com/course/675.html)
Spring官网:https://spring.io/projects
点击Spring Framework,选择相应版本的Reference
选择2.3里面的红框位置,进入下载列表,选择相应版本后,点击第一个进行下载。下载后名称如:spring-framework-4.3.7.RELEASE-dist
新建工程,导入JAR包。
Spring 模块
1.5 环境检测
新建一个HelloWorld类
package com.lbh.spring.beans;
public class HelloWorld {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
System.out.println("setName="+name);
}
public void name() {
System.out.println("hello:"+name);
}
public HelloWorld() {
System.out.println("HelloWorld constructor...");
}
}
新建一个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-4.3.xsd">
<!-- 配置bean -->
<bean id="helloworld" class="com.lbh.spring.beans.HelloWorld">
<property name="name" value="111"></property>
</bean>
</beans>
新建main方法进行输出测试
package com.lbh.spring.beans;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.core.io.ClassPathResource;
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
// HelloWorld helloworld = new HelloWorld();
// helloworld.setName("lbh");
// helloworld.name();
//1.注册配置文件2.获取bean 3.调用bean方法
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
HelloWorld helloworld = (HelloWorld) ctx.getBean("helloworld");
helloworld.name();
}
}
相关推荐
### Spring学习笔记(精华全记录) #### Spring框架概述 Spring框架源自Rod Johnson的个人项目,最初于2002年末发布。Spring并非一开始就作为一个完整的框架出现,而是从一个项目逐步发展而来。随着项目的成熟,...
本资料“Spring学习笔记&源码”是基于网易云课堂黑马程序员的Spring四天精通课程,旨在帮助学习者深入理解和实践Spring框架。 笔记部分可能会涵盖以下内容: 1. **Spring概述**:介绍Spring框架的历史、特点和主要...
这份"Spring学习笔记+学习源码.zip"资源包含了深入学习Spring及其相关技术的知识点,以及实践代码,对提升Spring技能将大有裨益。 首先,我们来详细讨论Spring框架的主要组件和功能: 1. **依赖注入(Dependency ...
根据提供的压缩包文件名,我们可以推测这是一个逐步学习Spring的系列笔记。从"Spring_day1"开始,可能涵盖了Spring的基础概念、环境搭建和基本配置。"Spring_day2"可能涉及了依赖注入和AOP的深入讲解。"Spring_day3...
在"springsecurity学习笔记"中,你可能会涉及以下主题: - Spring Security的基本配置,包括web安全配置和全局安全配置。 - 如何自定义认证和授权流程,比如实现自定义的AuthenticationProvider和...
### Spring学习笔记知识点详解 #### 一、Spring框架概述 **Spring** 是一个开源的、分层的企业级应用开发框架,旨在简化Java EE应用程序的开发。它的主要目标是提高开发效率,减少耦合度,并提供一种更为简洁的...
### Spring学习笔记(概念理解) #### 一、Spring的IoC(Inversion of Control) IoC,即控制反转,是Spring框架中的核心特性之一。通过理解IoC的基本概念及其背后的实现原理,可以帮助开发者更好地掌握Spring框架。 ...
马士兵老师是知名的Java教育专家,他的Spring框架学习笔记深入浅出,对于初学者和进阶者来说都是一份宝贵的资源。这份笔记涵盖了Spring的核心概念、配置、AOP(面向切面编程)、DI(依赖注入)等关键知识点。 1. **...
Spring学习笔记2涵盖了Spring框架的核心概念和重要特性,旨在帮助开发者深入理解并熟练掌握Spring的使用。 1. **依赖注入(Dependency Injection, DI)**:这是Spring最核心的设计原则,它允许对象之间的依赖关系在...
### Spring Boot 学习笔记知识点总结 #### 一、Spring发展史 - **Spring1.x时代**:在Spring1.x的时代,主要通过XML文件来配置Bean。随着项目的规模扩大,XML配置文件的数量也随之增加,这导致开发人员需要频繁地...
【尚硅谷周阳老师SpringCloud笔记】是一份深入学习SpringCloud技术体系的教程资源,由知名教育机构尚硅谷的周阳老师编撰。SpringCloud作为微服务架构的重要框架,广泛应用于现代企业的分布式系统开发中。这份笔记...
标题和描述均提到了“spring指南学习笔记”,这意味着文档聚焦于Spring框架的学习心得与关键概念。Spring是一个开源的Java企业级应用框架,以其强大的依赖注入(Dependency Injection, DI)和面向切面编程(Aspect ...
在本篇Spring学习笔记中,我们将深入探讨Spring的基本概念,包括bean的配置、依赖注入、IOC容器以及Bean的实例化方式。 首先,Spring中的核心概念是bean。Bean是Spring框架中的基本构建块,它们是被管理的对象,...
### Spring学习笔记:深入理解AOP与Annotation驱动的动态代理 #### 核心知识点解析: 在探讨Spring框架中AOP(面向切面编程)及基于Annotation的动态代理之前,我们首先需要了解AOP的基本概念及其在Spring中的实现...
例如,当需要将一个属性设置为`null`时,需要在XML配置文件中使用`<null/>`标签,这是Spring特有的表示`null`值的方式。此外,配置文件还可以用来定义内部bean,这些bean仅限于在当前配置文件内使用,外部无法直接...
以下将详细介绍Spring学习笔记中的主要知识点。 **面向抽象编程** 面向抽象编程是一种设计原则,强调在代码中使用接口或抽象类,而不是具体实现类。这使得系统更具有灵活性,易于扩展和维护。在Spring框架中,我们...
本学习笔记将深入探讨Spring AOP的核心概念、工作原理以及实际应用。 1. **核心概念** - **切面(Aspect)**:切面是关注点的模块化,包含业务逻辑之外的横切关注点,如日志、事务管理。 - **连接点(Join Point...
在本次的Java Spring框架学习笔记中,将对Spring框架的核心概念进行详细解析,包括Spring的 IOC(控制反转)、AOP(面向切面编程)、jdbcTemplate、事务管理、Spring5新特性以及与Mybatis的整合。本学习笔记提供了...