# java-spring-study
**Repository Path**: cqjtu_admin/java-spring-study
## Basic Information
- **Project Name**: java-spring-study
- **Description**: spring 相关练习
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2021-04-19
- **Last Updated**: 2022-10-07
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# java-spring-study
#### Spring介绍
##### 文档地址https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#spring-core
1.1 maven 配置
```xml
org.springframework
spring-webmvc
5.3.5
org.springframework
spring-jdbc
5.3.5
```
1.2 优点
* Spring 是一个开源的免费的框架(容器)!
* Spring 是一个轻量级的、非入侵式的框架!
* 控制反转(IOC)、面向切面编程(AOP)
* 支持事务的处理,对框架整合的支持
#### IOC控制反转
##### 最初实现方法
###### 若增加新的实现接口则必须在业务逻辑层修改
```java
private UserDao userDao = new UserDaoImpl();
@Override
public void getUser() {
userDao.getUser();
}
```
##### 通过Set注入方法实现 则只需在调用的地方修改即可 无需修改业务逻辑
```java
public class UserServiceImpl implements UserService {
private UserDao userDao ;
@Override
public void getUser() {
this.userDao.getUser();
}
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
```
```java
public class MyTest {
public static void main(String[] args) {
UserServiceImpl userService = new UserServiceImpl() ;
userService.setUserDao(new UserMysqlDaoImpl());
userService.getUser();
}
```
#### 改成spring容器的时候 只需要更改xml文件 即可实现上面的功能
##### bean文件配置如下
```xml
```
##### 代码实现文件
```java
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml");
UserServiceImpl userService = (UserServiceImpl) applicationContext.getBean("userService");
userService.getUser();
```
#### Spring的配置
#### IOC创建对象的方式
#### 以来注入
#### Bean的自动装配
#### 使用注解
#### 使用java的方式配置Spring
JavaConfig
#### 静态代理
#### AOP
#### 注解实现AOP