01_spring_ 简介| 学习笔记

简介: 快速学习 01_spring_ 简介

开发者学堂课程【Java Web 开发系列课程:Spring 框架入门01_spring_ 简介】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/538/detail/7333


01_spring_简介

 

内容介绍:

一、spring 介绍

二、spring 理念

三、spring 优点

四、主要内容

五、ioc——inversion of control 控制反转

 

一、spring 介绍

spring:春天;——给软件行业带来了春天。作者 Rod Jonhson。

Spring 代码很简单,重要在思想上。难在把框架和项目结合,难在项目的复杂程度。学习 spring 之后,还要把它结合到项目里去。

 

二、spring 理念

理念:是现有技术更加实用。

作者认为现有的框架已经够多了,没有必要再去创建新的框架、新的技术,把现有的框架和技术合理的运用和整合,让现有的技术运作的更好。不同的框架作用不一样,需求不一样,运用的项目的侧重点不一样。作者整合了其他框架,起到了一个粘合剂的作用,将 spring 发展完善。目前 spring 有着非常多的技术,具体可以进入 spring 官网查看。在官网里可以看到有很多组件。在 project 里面可以看见很多项目。

比如 SPING IO PLATFORM、SPRING BOOT、SPRING FRAMEWORK、SPRING XD、SPRING CLOUD、SPRING DATA、SPRING ENTEGRATION、SPRING BATCH、SPRING SECURITYD 等等等等一系列项目。

现在我们学习的是 spring framework,本身是大杂烩整合现有的框架技术。

 

三、Spring 优点

轻量级框架(框架不具有倾入性,倾入性就是在接触某个框架时不去实现它的接口。)轻量级框架的好处是替换它的时候,原有的代码依然可以使用,不需要改变。

提供 Ioc 容器——控制反转(Spring 的核心内容)

Aop 面向切面编程

对事务的支持:本身就支持 JDBC 等简单的事务,它还支持一些第三方的事务。

对框架的支持——Spring 本身最原始的技术就是把所有的框架整合在一起。

还有其他一些优点,在文件里面可以进行查看。

 

四、主要内容 

首先 Spring 支持 junit 单元测试,也就是说使用 Spring 的时候不用启动服务器之类的东西。

第二是核心容器(Core Container),也是所学重点,包括核心(Core),Core 是一切的基础,包括 Beans 工厂用来创建对象的,还有上下文 Context,SpEL 是 Spring 的表达式,目前不讲。

重点是 AOP 和 Aspects。

再往上是 Spring 对 Data Access 数据访问的支持,支持 JDBC、ORM、OXM、JMS 邮件服务、Transactions 事务。还有对 Web 的支持,包括 WebSocker、Serviet、Web、Portlet,放在 MVC 里面去讲。

 

五、ioc——inversion of control 控制反转

打开 Java 软件,新建 Java Project,Project nam e 为 01spring4_ioc1。

点击 Finish 后点确定。之后打开 src,Java Package内Name为cn.sxt.dao。

点击 Finish。 Java Interface 里修改 Name 为 UserDao。

点击 Finish,然后进行代码编写。具体代码如下:

package cn.sxt.dao:

public interface UserDao{

public void getUser();

}

接口需要类,先建一个类包,方便扩展,解决耦合性。

package cn.sxt.dao. impl;

import cn. sxt . dao. UserDao;

public class UserDaoImpl implements UserDao {

@Override

public void getUser ( ) {

System. out . print1n("获取用户数据") ;

}

}

再创建一个 cn.sxt.service:

package cn. sxt. service ;

public interface UserService {

public void getUser ( )

}

Service 里的实现是根据 dao。

package cn. sxt.service. impl;

import cn. sxt. dao.UserDao;

import cn. sxt .dao . impl . UserDaoImpl;

import cn. sxt. service.UserService;

public class UserServiceImpl implements UserService {

private UserDao userDao = new UserDaoImpl ( );

@Override

public void getUser ( ) {

userDao. getUser ( );

}

}

不同的 dao 实现不同。一旦改变了 dao,service 里面的 dao 调用也要改变,对象是自己创建的,当改变对象时原码也要重新去写。为了不去改变原码,可以通过以下方法:

public class Test {

public static void main(String[] args) {

UserServiceImpl userService = new UserServiceImpl ( );

userService. setUserDao( new UserDaoMySqlImpl ( ) );

userService. getUser ( ) ;

System. out. println(“--------------“);

userService . setUserDao(new UserDao0racleImpl ( ) );

userService. getUser ( );

}

}

以上是让程序自己去 new 一个对象的方法,除此之外还有把他放进配置文件,然后调用配置文件的方法,此时程序不用管代码,只提供一个接口。程序员不再关注对象本身的具体实现,更多的去关注业务。现在和 dao 的实现无关,直接依赖于对象的创建。

public class UserServiceImpl implements UserService{

private UserDao userDao=null ;

public void setUserDao(UserDao userDao) {

this.userDao = userDao;

}

通过案例:

对象由原来程序本身创建,变为了程序接收对象。

程序员主要精力集中于业务实现。

实现了 service 和 dao 的解耦工作。Service 层和 dao 层实现了分离。没有直接依赖关系。

如果 dao 的实现发生改变,应用程序本身不用改变

相关文章
|
2月前
|
搜索推荐 JavaScript Java
基于springboot的儿童家长教育能力提升学习系统
本系统聚焦儿童家长教育能力提升,针对家庭教育中理念混乱、时间不足、个性化服务缺失等问题,构建科学、系统、个性化的在线学习平台。融合Spring Boot、Vue等先进技术,整合优质教育资源,提供高效便捷的学习路径,助力家长掌握科学育儿方法,促进儿童全面健康发展,推动家庭和谐与社会进步。
|
9月前
|
监控 Java 应用服务中间件
微服务——SpringBoot使用归纳——为什么学习Spring Boot
本文主要探讨为什么学习Spring Boot。从Spring官方定位来看,Spring Boot旨在快速启动和运行项目,简化配置与编码。其优点包括:1) 良好的基因,继承了Spring框架的优点;2) 简化编码,通过starter依赖减少手动配置;3) 简化配置,采用Java Config方式替代繁琐的XML配置;4) 简化部署,内嵌Tomcat支持一键式启动;5) 简化监控,提供运行期性能参数获取功能。此外,从未来发展趋势看,微服务架构逐渐成为主流,而Spring Boot作为官方推荐技术,与Spring Cloud配合使用,将成为未来发展的重要方向。
364 0
微服务——SpringBoot使用归纳——为什么学习Spring Boot
|
9月前
|
前端开发 Java API
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档—— Swagger 简介
第6课介绍了在Spring Boot中集成Swagger2以展示在线接口文档的方法。随着前后端分离架构的发展,API文档成为连接前端与后端开发的重要纽带。然而,代码更新频繁导致文档难以同步维护,Swagger2解决了这一问题。通过Swagger,在线API文档不仅方便了接口调用方查看和测试,还支持开发者实时测试接口数据。本文使用Swagger 2.2.2版本,讲解如何在Spring Boot项目中导入并配置Swagger2工具,从而高效管理接口文档。
324 0
|
6月前
|
Java API 数据库
JPA简介:Spring Boot环境下的实践指南
上述内容仅是JPA在Spring Boot环境下使用的冰山一角,实际的实践中你会发现更深更广的应用。总而言之,只要掌握了JPA的规则,你就可以借助Spring Boot无比丰富的功能,娴熟地驾驶这台高性能的跑车,在属于你的程序世界里驰骋。
241 15
|
6月前
|
安全 Java 数据库
Spring Boot 框架深入学习示例教程详解
本教程深入讲解Spring Boot框架,先介绍其基础概念与优势,如自动配置、独立运行等。通过搭建项目、配置数据库等步骤展示技术方案,并结合RESTful API开发实例帮助学习。内容涵盖环境搭建、核心组件应用(Spring MVC、Spring Data JPA、Spring Security)及示例项目——在线书店系统,助你掌握Spring Boot开发全流程。代码资源可从[链接](https://pan.quark.cn/s/14fcf913bae6)获取。
1047 2
|
8月前
|
Java Spring
Spring框架的学习与应用
总的来说,Spring框架是Java开发中的一把强大的工具。通过理解其核心概念,通过实践来学习和掌握,你可以充分利用Spring框架的强大功能,提高你的开发效率和代码质量。
204 20
|
前端开发 Java 开发者
Spring生态学习路径与源码深度探讨
【11月更文挑战第13天】Spring框架作为Java企业级开发中的核心框架,其丰富的生态系统和强大的功能吸引了无数开发者的关注。学习Spring生态不仅仅是掌握Spring Framework本身,更需要深入理解其周边组件和工具,以及源码的底层实现逻辑。本文将从Spring生态的学习路径入手,详细探讨如何系统地学习Spring,并深入解析各个重点的底层实现逻辑。
317 9
|
前端开发 Java 数据库
SpringBoot学习
【10月更文挑战第7天】Spring学习
199 9
|
XML Java 数据格式
Spring学习
【10月更文挑战第6天】Spring学习
134 1
|
Java 测试技术 开发者
springboot学习四:Spring Boot profile多环境配置、devtools热部署
这篇文章主要介绍了如何在Spring Boot中进行多环境配置以及如何整合DevTools实现热部署,以提高开发效率。
813 2

热门文章

最新文章