# 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