初学java spring
1.spring优点
1.Spring是一个开源的免费的框架
2.Spring是一个轻量级的,非入侵式的框架!
3.控制反转(IOC),面向切面编程(AOP)!!!
4.支持事务的处理,对框架整合的支持!
spring就是一个轻量级的控制反转(IOC)和面向切面编程(AOP)的框架
学习现代java过程
SpringBoot------>SpringCloud------>SpringCloudDataFlow
现代化java开发就是基于spring的开发
Spring Boot
一个快速开发的手脚架
基于SpringBoot可以快速的开发单个为服务。
预定大于配置
Spring Cloud
SpringCloud是基于SpringBoot实现的。
学习SpringBoot前题,需要完全掌握Spring及SpringMVC!
弊端:发展了太久,违背了原来的概念!配置十分繁琐
2.IOC理论推导
创建maven项目,找到 pom.xml
导入maven包
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.6</version>
</dependency>
1.UserDao接口
package dao;
public interface UserDao {
void del();
void update();
}
2.UserDaoImpl实现类
package dao;
import dao.UserDao;
public class UserDaoJdbcImpl implements UserDao {
@Override
public void del() {
System.out.println("基于JDBC的用户删除");
}
@Override
public void update() {
System.out.println("基于JDBC用户更新");
}
}
3.UserService业务接口
package service;
public interface UserService {
void delUser();
void updateUser();
}
4.UserServiceImpl业务实现类
package service;
import dao.UserDao;
import service.UserService;
public class UserServiceImpl implements UserService {
private UserDao userDao;
public UserServiceImpl(){}
//注入:通过构造函数函数接收对象,由SpringIOC容器调用
public UserServiceImpl(UserDao userDao){
System.out.println("构造函数注入");
this.userDao = userDao;
}
public void setUserDao(UserDao userDao){
this.userDao = userDao;
}
@Override
public void delUser() {
userDao.del();
}
@Override
public void updateUser() {
userDao.update();
}
}
public void setUserDao(UserDao userDao){
this.userDao = userDao;
}
使用set注入,程序不再具有主动性,而是变成被动的接收对象
这种思想,从本质上解决了问题,我们程序员不用在去对象的创建了,系统的耦合性大大降低,这是IOC的原型。