Spring框架介绍
- Spring是一个轻量级的IoC和AOP的框架
IoC:控制反转
AOP:面向切面编程 - spring的优点:
1)方便解耦,简化开发
Spring 就是一个大工厂,可以将所有对象的创建和依赖关系的维护交给 Spring 管理。
2)方便集成各种优秀框架
Spring 不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如 Struts2、Hibernate、MyBatis等)的直接支持。
3)降低 Java EE API 的使用难度
Spring 对 Java EE 开发中非常难用的一些 API(JDBC、JavaMail、远程调用等)都提供了封装,使这些API 应用的难度大大降低。
4)方便程序的测试
Spring 支持 JUnit4,可以通过注解方便地测试 Spring 程序。
5)AOP 编程的支持
Spring 提供面向切面编程,可以方便地实现对程序进行权限拦截和运行监控等功能。
6)声明式事务的支持
只需要通过配置就可以完成对事务的管理,而无须手动编程。
搭建Spring环境
1、先在maven中添加依赖
<!-- https://mvnrepository.com/artifact/org.springframework/spring-web -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.3.18.RELEASE</version>
</dependency>
2、编写Bean
package com.hhh.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author: hehehe
* @Date: 2022/4/15 11:38
*/
@Data//生成getter,setter
@AllArgsConstructor//生成有参构造
@NoArgsConstructor//生成无参构造
public class User {
private String username;
private String password;
}
3、编写配置文件
先将模板在idea中生成
<?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.xsd">
<!--
com.hhh.User user = new com.hhh.User();
<bean>声明实例化对象的信息
id对象的名称
class对象的类型
-->
<bean id="user" class="com.hhh.pojo.User"></bean>
</beans>
4、测试获取user对象
package com.hhh.test;
import com.hhh.pojo.User;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* @Author: hehehe
* @Date: 2022/4/15 11:48
*/
public class AppTest {
@Test
public void test(){
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContest.xml");
User user = (User) applicationContext.getBean("user");
user.setUname("admin");
user.setUpwd("123");
System.out.println("AppTest.test"+user);
}
}