✅作者简介:Java-小白后端开发者 公认外号:球场上的黑曼巴
个人主页:不会飞的小飞侠24
个人信条:谨 · 信
当前专栏:高级内容
本文内容:JAVA -----mybatis框架【mybatis的批量删除 】
更多内容点击
小飞侠的博客>>>>欢迎大家!!!
1.1 Spring是为了解决企业应用开发的复杂性而创建的一个轻量级的Java开发框架。Spring的核心是控制反转(IoC)和面向切面编程(AOP)。传统的Java程序,类与类之间存在较强的依赖关系,增加了程序开发的难度,开发某一个类的时候还要考虑对另一个类的影响,一个类的修改往往导致另一个类不得不跟着要修改,程序可维护性和可拓展性变差。使用Spring可以降低代码间的依赖程度(耦合度),为代码“解耦”,提高程序的可拓展性、可复用性和可维护性,使主业务专注于自身的开发。
1.2 Spring降低耦合度的方式有两种:IoC 与 AOP。IoC 是控制反转的意思,它的作用是使得主业务在相互调用过程中,不用再自己维护关系,即无须自己创建要使用的对象了,而是由Spring容器统一管理,自动“注入”。AOP是面向切面编程的意思, AOP技术不用再由程序员用硬编码的方式将系统级服务“混杂”到主业务逻辑中了,而是由Spring 容器统一完成“织入”。
1.3 Spring还提供对其他框架的支持,可以支持MyBatis,Hibernate,struts等框架,简化这些框架使用,通过整合使它们高效地协同工作。
Spring 有七大功能模块,分别是Spring Core、AOP、ORM、DAO、MVC、WEB和Context。 Spring体系架构如图4.1所示。
1.core模块:Spring的核心库 提供Ioc 功能。
2.Aop模块:Spring的AOP库.提供AOP的拦截器机制。
3.ORm模块:提供对ORM框架的支持和管理。
4.DAO模块:提供对JDBC的支持,并进行封装,并支持和管理事务。
5.MVC模块:提供MVC的支持 更加简单和方便。
6.Web模块:提供对常见的框架支持。
7.Context :提供Bean的访问方式,其他程序可通过Context访问Spring的Bean资源。
之所以引入Spring-context.jar 只因为在依赖此jar包时,会依赖其他三个,即 自动下载相关依赖–可查看受否成功
<!--引入spring的依赖-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.9</version>
</dependency>
之前大家在一个类中调用另一个类都是在本类中先new一个要调用的另一个类对象,再调用其方法,这次用spring实现一个类中不new 另一个类的对象也能调用到另一个类。
package cn.kgc.spring01.entity;
import lombok.Data;
@Data
public class User {
private String username;
private Integer id;
public User(){
System.out.println("user()");
}
public User(Integer id) {
System.out.println("User(String username, Integer id)");
this.username = username;
this.id = id;
}
public User(String username, Integer id) {
System.out.println("User(String username, Integer id)");
this.username = username;
this.id = id;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.kgc.spring01</groupId>
<artifactId>spring01</artifactId>
<version>1.0-SNAPSHOT</version>
<name>spring01</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<!--引入spring的依赖-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.9</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
</dependency>
</dependencies>
</project>
<?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">
<!--声明需要托管的对象-->
<!--
通过构造方法完成对象初始化 需要提供对应的构造方法
-->
<bean id="user" class="cn.kgc.spring01.entity.User">
<constructor-arg name="id" value="1"></constructor-arg>
<constructor-arg name="username" value="jack"></constructor-arg>
</bean>
</beans>
public void test03() {
ApplicationContext ac = new ClassPathXmlApplicationContext("spring-config.xml");
User user = ac.getBean("user", User.class);
System.out.println("user = " + user);
}