亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

SSM入門:簡單教程助你輕松入門

標簽:
SSM
概述

本文介绍了SSM入门的相关内容,包括Spring、Spring MVC和MyBatis三个框架的整合与配置。详细讲解了环境搭建、Maven配置以及如何开始使用Spring和MyBatis进行开发。文章还提供了具体的实践示例,帮助读者理解如何在SSM框架中进行数据库操作和HTTP请求处理。

SSM框架简介

SSM框架的概念

SSM框架是指Spring、Spring MVC、MyBatis三个框架的整合。Spring框架主要负责IoC(控制反转)和AOP(面向切面编程),提供依赖注入和面向切面编程的支持。Spring MVC框架则是基于Spring框架的Web MVC实现,它提供了Model-View-Controller模式,便于开发Web应用。MyBatis框架则专注于数据库操作,提供了一种灵活的SQL映射技术,使得Java程序可以直接操作数据库。

SSM框架的组成

  1. Spring框架:Spring框架是一个轻量级的企业级应用开发框架,提供了IoC(控制反转)、AOP(面向切面编程)、事务管理、依赖注入等特性。
  2. Spring MVC框架:Spring MVC 是基于Spring框架的Web MVC实现,遵循MVC设计模式。它提供了处理HTTP请求、响应、视图解析等功能。
  3. MyBatis框架:MyBatis是一个持久层框架,允许开发者用简单的XML或注解来配置和映射原生的SQL语句。它简化了数据库操作,使得开发者能够以Java对象形式操作数据库。

SSM框架的优势

  1. 模块化设计:SSM框架将各个模块职责明确,每个部分都有明确的功能,便于维护和扩展。
  2. 灵活性:通过配置文件可以灵活地配置IoC、AOP、事务等,使得框架具有良好的可维护性和扩展性。
  3. 高性能:Spring MVC框架的拦截器、处理器映射等机制,使得Web应用能够高效处理请求。
  4. 易于测试:Spring框架的测试支持使得单元测试和集成测试变得简单。
环境搭建

开发环境准备

  • 操作系统:Windows/Linux/Mac
  • JDK:Java开发工具包,版本建议使用JDK 8及以上。
  • IDE:推荐使用IntelliJ IDEA或Eclipse。
  • 数据库:MySQL或其他关系型数据库,用于进行数据库操作。

Maven配置

Maven是一个强大的项目管理工具,它基于项目对象模型(POM),能够帮助开发者管理项目依赖、构建和部署。

  1. 安装Maven:下载并安装Maven,配置环境变量。
  2. 配置Maven仓库:编辑Maven的settings.xml文件,配置本地仓库路径和远程仓库地址。
  3. 更新Maven:确保Maven版本是最新的,使用命令mvn -version检查版本。
<settings>
  <localRepository>/path/to/local/repo</localRepository>
  <mirrors>
    <mirror>
      <id>aliyun</id>
      <url>http://maven.aliyun.com/nexus/content/groups/public</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>
</settings>

配置开发工具

  • IDEA配置
    • 创建新项目时选择Maven选项。
    • 配置项目中的依赖管理。
    • 确保使用了正确的Maven版本。
  • Eclipse配置
    • 安装Maven插件。
    • 创建Maven项目。
    • 配置pom.xml文件。
Maven快速入门

导入依赖

在Maven项目中,依赖管理是通过pom.xml文件来实现的。下面是一些常用的依赖配置示例:

<dependencies>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.3.10</version>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.3.10</version>
  </dependency>
  <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.25</version>
  </dependency>
  <dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.1.2</version>
  </dependency>
</dependencies>

配置pom.xml文件

pom.xml文件是Maven项目的配置文件,定义了项目的基本信息、构建信息、依赖等。

<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>com.example</groupId>
  <artifactId>ssm-project</artifactId>
  <version>1.0.0</version>
  <packaging>war</packaging>
  <dependencies>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>5.3.10</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.3.10</version>
    </dependency>
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.25</version>
    </dependency>
    <dependency>
      <groupId>com.github.pagehelper</groupId>
      <artifactId>pagehelper-spring-boot-starter</artifactId>
      <version>1.1.2</version>
    </dependency>
  </dependencies>
</project>

创建第一个Maven项目

  1. 创建项目

    • 使用IDEA或Eclipse创建一个新的Maven项目。
    • src/main/resources目录下创建applicationContext.xml文件。
  2. 编写基础配置
    • applicationContext.xml中配置基本的Spring依赖。
<?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="exampleBean" class="com.example.ExampleBean">
    <property name="exampleProperty" value="Hello, World!"/>
  </bean>
</beans>
  1. 运行项目
    • 在IDE中运行Maven的clean install命令,确保项目构建成功。
    • 运行一个简单的Java主类,测试Spring容器是否初始化成功。
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.example.ExampleBean;

public class Main {
  public static void main(String[] args) {
    ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
    ExampleBean exampleBean = context.getBean("exampleBean", ExampleBean.class);
    System.out.println("ExampleBean Value: " + exampleBean.getExampleProperty());
  }
}
Spring框架入门

Spring IoC容器介绍

Spring IoC容器是Spring的核心部分,它负责管理对象的创建、配置和组装。IoC(Inversion of Control,控制反转)主要体现在依赖注入(Dependency Injection,DI)上。

Spring IoC容器的主要功能包括:

  • 对象创建:通过反射技术动态创建对象。
  • 依赖注入:通过配置文件或注解将对象依赖注入到其他对象中。
  • 配置管理:管理对象之间的依赖关系和配置信息。

配置Bean管理

在Spring中,可以使用XML配置或注解的方式来管理Bean。下面是一个简单的Spring Bean配置示例:

<bean id="exampleBean" class="com.example.ExampleBean">
  <property name="exampleProperty" value="Hello, World!"/>
</bean>

使用Java代码配置Bean

在Java代码中配置Bean可以通过@Component注解和@Bean注解来实现,如下所示:

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class AppConfig {
  @Bean
  public ExampleBean exampleBean() {
    ExampleBean bean = new ExampleBean();
    bean.setExampleProperty("Hello, World!");
    return bean;
  }
}

配置bean管理

使用XML配置时,需要在applicationContext.xml文件中定义Bean的配置信息。

<bean id="exampleBean" class="com.example.ExampleBean">
  <property name="exampleProperty" value="Hello, World!"/>
</bean>

使用注解方式时,需要在Java类中添加特定的注解,如@Component@Service@Repository等。

import org.springframework.stereotype.Component;

@Component
public class ExampleBean {
  private String exampleProperty;

  public String getExampleProperty() {
    return exampleProperty;
  }

  public void setExampleProperty(String exampleProperty) {
    this.exampleProperty = exampleProperty;
  }
}

注解配置

Spring的注解配置非常简洁,可以减少XML配置文件的复杂性。常用的注解包括:

  • @Component:标记一个类为Spring Bean。
  • @Service@Controller@Repository:分别用于标记Service、Controller、Repository类。
  • @Autowired:用于自动装配Bean。
  • @Bean:用于标注方法返回值为Bean实例。
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class AppConfig {
  @Bean
  public ExampleBean exampleBean() {
    ExampleBean bean = new ExampleBean();
    bean.setExampleProperty("Hello, World!");
    return bean;
  }
}
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class ExampleBean {
  private String exampleProperty;

  @Autowired
  public ExampleBean() {
    exampleProperty = "Hello, World!";
  }

  public String getExampleProperty() {
    return exampleProperty;
  }
}
MyBatis框架入门

MyBatis入门概念

MyBatis是一个持久层框架,通过简单的XML或注解进行数据库操作。MyBatis简化了数据库操作,使得开发者能够以Java对象的形式操作数据库。

MyBatis的主要概念包括:

  • SqlSessionFactory:创建SqlSession的工厂类。
  • SqlSession:执行SQL语句的对象。
  • Mapper:映射SQL语句到Java方法的对象。

MyBatis配置文件详解

MyBatis的配置文件通常放在src/main/resources目录下,命名为mybatis-config.xml。配置文件的主要内容包括:

  • 数据库连接信息:数据库驱动、URL、用户名和密码。
  • 类型别名:为Java类定义别名,以便在Mapper文件中使用。
  • 映射文件:定义SQL语句和对应的Java方法。

下面是一个简单的MyBatis配置文件示例:

<configuration>
  <environments default="development">
    <environment id="development">
      <transactionManager type="JDBC"/>
      <dataSource type="POOLED">
        <property name="driver" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/test"/>
        <property name="username" value="root"/>
        <property name="password" value="password"/>
      </dataSource>
    </environment>
  </environments>
  <mappers>
    <mapper resource="com/example/UserMapper.xml"/>
  </mappers>
</configuration>

MyBatis与Spring整合

MyBatis与Spring整合可以简化数据库操作,利用Spring的IoC容器来管理MyBatis的SqlSessionFactory。

  1. 配置SqlSessionFactoryBean
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  <property name="dataSource" ref="dataSource"/>
  <property name="configLocation" value="classpath:mybatis-config.xml"/>
</bean>
  1. 配置DataSource
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
  <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
  <property name="url" value="jdbc:mysql://localhost:3306/test"/>
  <property name="username" value="root"/>
  <property name="password" value="password"/>
</bean>
  1. 配置Mapper扫描
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
  <property name="basePackage" value="com.example.mapper"/>
</bean>
  1. 编写Mapper接口
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Insert;
import com.example.User;

public interface UserMapper {
  @Select("SELECT * FROM users WHERE id = #{id}")
  User selectUserById(int id);

  @Insert("INSERT INTO users (name, age) VALUES (#{name}, #{age})")
  int insertUser(User user);
}

实践示例

下面是一个简单的例子,演示如何使用MyBatis和Spring进行数据库操作:

  1. 创建一个User实体类
public class User {
  private int id;
  private String name;
  private int age;

  public int getId() {
    return id;
  }

  public void setId(int id) {
    this.id = id;
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public int getAge() {
    return age;
  }

  public void setAge(int age) {
    this.age = age;
  }
}
  1. 创建一个Mapper接口
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Insert;
import com.example.User;

public interface UserMapper {
  @Select("SELECT * FROM users WHERE id = #{id}")
  User selectUserById(int id);

  @Insert("INSERT INTO users (name, age) VALUES (#{name}, #{age})")
  int insertUser(User user);
}
  1. 创建一个Service类,使用MyBatis进行数据库操作:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.example.User;
import com.example.UserMapper;

@Service
public class UserService {
  @Autowired
  private UserMapper userMapper;

  public User getUserById(int id) {
    return userMapper.selectUserById(id);
  }

  public int addUser(User user) {
    return userMapper.insertUser(user);
  }
}
Spring MVC入门

Spring MVC工作原理

Spring MVC遵循Model-View-Controller模式,主要组件包括DispatcherServlet、HandlerMapping、Controller、ViewResolver等。其工作流程如下:

  1. 请求到达DispatcherServlet:DispatcherServlet是Spring MVC的前端控制器,负责接收请求。
  2. 解析请求:DispatcherServlet根据请求的URL和请求方式(GET/POST),调用HandlerMapping来解析请求。
  3. 调用Controller:HandlerMapping根据解析结果找到对应的Controller,并将请求转给Controller处理。
  4. 处理业务逻辑:Controller处理业务逻辑,并将结果传递给ViewResolver。
  5. 渲染视图:ViewResolver根据Controller传递的结果,解析视图模板,生成最终的响应返回给客户端。

创建控制器

控制器(Controller)负责处理客户端的请求和响应。下面是一个简单的控制器示例:

  1. 创建一个Controller类
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.example.User;
import com.example.UserService;

@Controller
public class UserController {
  @Autowired
  private UserService userService;

  @RequestMapping(value = "/user", method = RequestMethod.GET)
  @ResponseBody
  public User getUserById(int id) {
    return userService.getUserById(id);
  }

  @RequestMapping(value = "/user", method = RequestMethod.POST)
  @ResponseBody
  public int addUser(User user) {
    return userService.addUser(user);
  }
}

视图解析器和处理器映射器配置

视图解析器和处理器映射器是Spring MVC中重要的配置组件。下面是一个简单的视图解析器和处理器映射器配置示例:

  1. 配置视图解析器
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  <property name="prefix" value="/WEB-INF/views/"/>
  <property name="suffix" value=".jsp"/>
</bean>
  1. 配置处理器映射器
<bean id="handlerMapping" class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
  1. 配置DispatcherServlet
<bean id="dispatcherServlet" class="org.springframework.web.servlet.DispatcherServlet">
  <property name="contextConfigLocation" value="/WEB-INF/spring-mvc-config.xml"/>
</bean>

实践示例

下面是一个简单的Spring MVC示例,演示了如何创建一个控制器来处理HTTP请求:

  1. 配置DispatcherServlet
<bean id="dispatcherServlet" class="org.springframework.web.servlet.DispatcherServlet">
  <property name="contextConfigLocation" value="/WEB-INF/spring-mvc-config.xml"/>
</bean>
  1. 创建Controller类
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.example.User;
import com.example.UserService;

@Controller
public class UserController {
  @Autowired
  private UserService userService;

  @RequestMapping(value = "/user", method = RequestMethod.GET)
  @ResponseBody
  public User getUserById(int id) {
    return userService.getUserById(id);
  }

  @RequestMapping(value = "/user", method = RequestMethod.POST)
  @ResponseBody
  public int addUser(User user) {
    return userService.addUser(user);
  }
}
  1. 配置视图解析器

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  <property name="prefix" value="/WEB-INF/views/"/>
  <property name="suffix" value=".jsp"/>
</bean>
``

通过以上步骤和代码示例,你可以轻松入门SSM框架,并通过实际操作来理解其基本概念和应用场景。
點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消