初学者SSM框架的创建过程

搭建jdk、myeclipse等环境的过程网上资源很多,这里也给出一个链接供大家参考:http://blog.csdn.net/zhshulin/article/details/30779873

搭建环境好以后就可以直接创建Maven项目,点击 new ->Maven Project->next->maven-archetype-webapp->填入项目名称finish即可.

1)、搭建好项目后需要引入所需的架包,可以在pom.xml文件中配置好即可自动下载,

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>SSMDemo</groupId>
  <artifactId>SSMDemo</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>SSMDemo Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <properties>
		<!-- spring版本号 -->
		<spring.version>4.0.2.RELEASE</spring.version>
		<!-- mybatis版本号 -->
		<mybatis.version>3.2.6</mybatis.version>
		<!-- log4j日志文件管理包版本 -->
        <slf4j.version>1.7.7</slf4j.version>  
        <log4j.version>1.2.17</log4j.version> 
	</properties>
  
  <dependencies>
  
  	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-core</artifactId>
		<version>${spring.version}</version>
	</dependency>
	<!--Expression Language (depends on spring-core) Define this if you use 
		Spring Expression APIs (org.springframework.expression.*) -->
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-expression</artifactId>
		<version>${spring.version}</version>
	</dependency>
	<!-- Bean Factory and JavaBeans utilities (depends on spring-core) Define 
		this if you use Spring Bean APIs (org.springframework.beans.*) -->
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-beans</artifactId>
		<version>${spring.version}</version>
	</dependency>
	<!-- Aspect Oriented Programming (AOP) Framework (depends on spring-core, 
		spring-beans) Define this if you use Spring AOP APIs (org.springframework.aop.*) -->
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-aop</artifactId>
		<version>${spring.version}</version>
	</dependency>
	<!--Application Context (depends on spring-core, spring-expression, spring-aop, 
		spring-beans) This is the central artifact for Spring’s Dependency Injection 
		Container and is generally always defined -->
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-context</artifactId>
		<version>${spring.version}</version>
	</dependency>
	<!-- Various Application Context utilities, including EhCache, JavaMail, 
		Quartz, and Freemarker integration Define this if you need any of these integrations -->
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-context-support</artifactId>
		<version>${spring.version}</version>
	</dependency>
	<!--Transaction Management Abstraction (depends on spring-core, spring-beans, 
		spring-aop, spring-context) Define this if you use Spring Transactions or 
		DAO Exception Hierarchy (org.springframework.transaction.*/org.springframework.dao.*) -->
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-tx</artifactId>
		<version>${spring.version}</version>
	</dependency>
	<!-- JDBC Data Access Library (depends on spring-core, spring-beans, spring-context, 
		spring-tx) Define this if you use Spring’s JdbcTemplate API (org.springframework.jdbc.*) -->
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-jdbc</artifactId>
		<version>${spring.version}</version>
	</dependency>
	<!-- Object-to-Relation-Mapping (ORM) integration with Hibernate, JPA, 
		and iBatis. (depends on spring-core, spring-beans, spring-context, spring-tx) 
		Define this if you need ORM (org.springframework.orm.*) -->
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-orm</artifactId>
		<version>${spring.version}</version>
	</dependency>
	<!-- Object-to-XML Mapping (OXM) abstraction and integration with JAXB, 
		JiBX, Castor, XStream, and XML Beans. (depends on spring-core, spring-beans, 
		spring-context) Define this if you need OXM (org.springframework.oxm.*) -->
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-oxm</artifactId>
		<version>${spring.version}</version>
	</dependency>
	<!-- Web application development utilities applicable to both Servlet and 
		Portlet Environments (depends on spring-core, spring-beans, spring-context) 
		Define this if you use Spring MVC, or wish to use Struts, JSF, or another 
		web framework with Spring (org.springframework.web.*) -->
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-web</artifactId>
		<version>${spring.version}</version>
	</dependency>
	<!-- Spring MVC for Servlet Environments (depends on spring-core, spring-beans, 
		spring-context, spring-web) Define this if you use Spring MVC with a Servlet 
		Container such as Apache Tomcat (org.springframework.web.servlet.*) -->
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-webmvc</artifactId>
		<version>${spring.version}</version>
	</dependency>
	<!-- Support for testing Spring applications with tools such as JUnit and 
		TestNG This artifact is generally always defined with a ‘test’ scope for 
		the integration testing framework and unit testing stubs -->
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-test</artifactId>
		<version>${spring.version}</version>
	</dependency>
	<!-- mybatis核心包 -->
	<dependency>
		<groupId>org.mybatis</groupId>
		<artifactId>mybatis</artifactId>
		<version>${mybatis.version}</version>
	</dependency>
	<!-- mybatis/spring包 -->
	<dependency>
		<groupId>org.mybatis</groupId>
		<artifactId>mybatis-spring</artifactId>
		<version>1.2.2</version>
	</dependency>
	<!-- 导入Mysql数据库链接jar包 -->
	<dependency>
		<groupId>mysql</groupId>
		<artifactId>mysql-connector-java</artifactId>
		<version>5.1.38</version>
	</dependency>

	<!-- 日志记录依赖包,很多都依赖此包,像log4j,json-lib等等 -->
	<dependency>
		<groupId>commons-logging</groupId>
		<artifactId>commons-logging</artifactId>
		<version>1.1.3</version>
	</dependency>

	<!-- 导入dbcp的jar包,用来在applicationContext.xml中配置数据库 -->
	<dependency>
		<groupId>commons-dbcp</groupId>
		<artifactId>commons-dbcp</artifactId>
		<version>1.2.2</version>
	</dependency>
	<!-- JSTL标签类 -->
	<dependency>
		<groupId>jstl</groupId>
		<artifactId>jstl</artifactId>
		<version>1.2</version>
	</dependency>
	<!-- 日志文件管理包 -->
	<!-- 格式化对象,方便输出日志 -->  
     <dependency>  
         <groupId>com.alibaba</groupId>  
         <artifactId>fastjson</artifactId>  
         <version>1.1.41</version>  
     </dependency>  
     <dependency>  
         <groupId>org.slf4j</groupId>  
         <artifactId>slf4j-api</artifactId>  
         <version>${slf4j.version}</version>  
     </dependency>  
     <dependency>  
         <groupId>org.slf4j</groupId>  
         <artifactId>slf4j-log4j12</artifactId>  
         <version>${slf4j.version}</version>  
     </dependency>  
     <!-- log end -->  
    <!-- jackson 包  start-->
    <dependency> 
		<groupId>org.codehaus.jackson</groupId> 
		<artifactId>jackson-core-asl</artifactId> 
		<version>1.9.11</version> 
	</dependency> 
	<dependency> 
		<groupId>org.codehaus.jackson</groupId> 
		<artifactId>jackson-mapper-asl</artifactId> 
		<version>1.9.11</version> 
	</dependency> 
    <!-- jackson 包  结束-->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <finalName>SSMDemo</finalName>
  </build>
</project>



2)将工程转化为web工程

该过程有俩步第一右键项目点击Properties->Deployment Assembly(在此设置我们需要发布哪些文件夹下的内容),需要发布的包格式如下所示,没有的文件夹可以自己新建

第二部是将项目转化为web项目,还是在Properties中点击project Facets直接点apply(它会自动帮你勾选所需的)

3)在resources中创建四个文件夹来存放我们的资源文件:

spring-mybatis:存放Spring-mybatis的配置文件,Spring-mybatis.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xmlns:mybatis="http://mybatis.org/schema/mybatis-spring"
	xmlns:context="http://www.springframework.org/schema/context" 
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
       					   http://www.springframework.org/schema/beans/spring-beans-4.3.xsd  
       					   http://mybatis.org/schema/mybatis-spring 
       					   http://mybatis.org/schema/mybatis-spring.xsd  
       					   http://www.springframework.org/schema/context 
       					   http://www.springframework.org/schema/context/spring-context.xsd
       					   http://www.springframework.org/schema/tx 
       					   http://www.springframework.org/schema/tx/spring-tx.xsd">
<!-- 加载资源文件: 数据库连接文件 -->
	<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="location" value="classpath:/properties/jdbc.properties"/>
	</bean>
	<!-- 配置数据源 -->
	<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName" value="${driver}"/>
		<property name="url" value="${url}"/>
		<property name="username" value="${username}"/>
		<property name="password" value="${password}"/>
	</bean>
	<!-- 配置 mybatis -->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource"/>
		<!-- 扫描entity -->
		<property name="typeAliasesPackage" value="com.ssmdemo.entity"/>
		<!-- 注册mapper.xm -->
		<property name="mapperLocations" value="classpath*:/mapper/*.xml"/>
	</bean>
	<!-- DAO接口所在包名,Spring会自动查找其下的类 -->
	<bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="basePackage" value="com.ssmdemo.dao"/>
		<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
	</bean>
	
	<!-- 添加事务管理 -->
	<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource"/>
	</bean>
	<!-- 采用注解方式管理事务 -->
	<tx:annotation-driven transaction-manager="transactionManager"/>
</beans>


springmvc-servlet:存放springmvc的配置文件,springmvc-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
						http://www.springframework.org/schema/beans/spring-beans-4.3.xsd  
       				    http://www.springframework.org/schema/context 
       				    http://www.springframework.org/schema/context/spring-context.xsd  
                        http://www.springframework.org/schema/mvc 
                        http://www.springframework.org/schema/mvc/spring-mvc.xsd">
	<!-- 启用srping mvc注解 -->
	<!-- <mvc:annotation-driven />开启设置可以替代 -->
	<!-- <bean id="handlerMapping" class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/> 
	<bean id="handlerAdapter" class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/> -->
	<mvc:annotation-driven/>
	<!-- 静态资源 -->
	<mvc:resources location="/img/" mapping="/img/**"/>
	<mvc:resources location="/js/" mapping="/js/**"/>
	<!-- 拦截器 -->
	<!-- <mvc:interceptors></mvc:interceptors> -->
	<!-- 自动扫描的包,使Spring支持自动检测组件,如注解的Controller -->
	<context:component-scan base-package="com.ssmdemo"/>
	
	<!--视图解析器: 定义视图的前缀后缀 -->
	<bean id="resourceView" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
		<property name="prefix" value="/WEB-INF/page/"/>
		<property name="suffix" value=".jsp"/>
	</bean>
	
	
</beans>



properties:存放日志文件、数据库连接池的文件

jdbc.properties

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
						http://www.springframework.org/schema/beans/spring-beans-4.3.xsd  
       				    http://www.springframework.org/schema/context 
       				    http://www.springframework.org/schema/context/spring-context.xsd  
                        http://www.springframework.org/schema/mvc 
                        http://www.springframework.org/schema/mvc/spring-mvc.xsd">
	<!-- 启用srping mvc注解 -->
	<!-- <mvc:annotation-driven />开启设置可以替代 -->
	<!-- <bean id="handlerMapping" class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/> 
	<bean id="handlerAdapter" class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/> -->
	<mvc:annotation-driven/>
	<!-- 静态资源 -->
	<mvc:resources location="/img/" mapping="/img/**"/>
	<mvc:resources location="/js/" mapping="/js/**"/>
	<!-- 拦截器 -->
	<!-- <mvc:interceptors></mvc:interceptors> -->
	<!-- 自动扫描的包,使Spring支持自动检测组件,如注解的Controller -->
	<context:component-scan base-package="com.ssmdemo"/>
	
	<!--视图解析器: 定义视图的前缀后缀 -->
	<bean id="resourceView" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
		<property name="prefix" value="/WEB-INF/page/"/>
		<property name="suffix" value=".jsp"/>
	</bean>
	
	
</beans>


日志配置文件:log4j.properties

# For JBoss: Avoid to setup Log4J outside $JBOSS_HOME/server/default/deploy/log4j.xml!
# For all other servers: Comment out the Log4J listener in web.xml to activate Log4J.
log4j.rootLogger=debug,console,txt
 # Direct Log Messages To Console
 log4j.appender.console=org.apache.log4j.ConsoleAppender
 log4j.appender.console.Target=System.out
 log4j.appender.console.layout=org.apache.log4j.PatternLayout
 log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p %c:%L - %m%n

 log4j.appender.txt=org.apache.log4j.RollingFileAppender
 log4j.appender.txt.File=${webapp.root}/WEB-INF/log/log.txt
 log4j.appender.txt.MaxFileSize=500KB
 log4j.appender.txt.MaxBackupIndex=1
 log4j.appender.txt.layout=org.apache.log4j.PatternLayout
 log4j.appender.txt.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n

# org.hibernate
#log4j.logger.org.hibernate=debug
# org.hibernate.SQL
#log4j.logger.org.hibernate.SQL=debug
# Log Schema Export Update
#log4j.logger.org.hibernate.tool.hbm2ddl=debug

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.ssmdemo.dao.UserDao">
	<insert id="add" parameterType="User">
		insert into user(username,password,email) values(#{username},#{password},#{email})
	</insert>
	
	<update id="update" parameterType="User">
		update user set username = #{username},
      password = #{password},
      email = #{email}
    where id = #{id}
	</update>
	
	
	<delete id="delete" parameterType="Integer">
		delete from user where id = #{id}
	</delete>
	
	<select id="findByID" parameterType="Integer" resultType="User">
		select * from user where id = #{id}
	</select>
	
	<resultMap type="User" id="userMap">
		<id column="id" property="id"/>
		<result column="username" property="username"/>
		<result column="password" property="password"/>
		<result column="email" property="email"/>
		<!-- <association property="classes" column="class_id" select="findByID"></association> -->
	</resultMap>
	
	<select id="findAll" resultMap="userMap">
		select * from user
	</select>
	
</mapper>

#Spring config#log4j.logger.org.springframewaork = DEBUG #Mybatis config#log4j.logger.org.mybatis=DUBUG#log4j.logger.net.openwares.test.mapper = TRACE#log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG#log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG#log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG#JDBC configlog4j.logger.java.sql.Connection = DEBUG log4j.logger.java.sql.Statement = DEBUG log4j.logger.java.sql.PreparedStatement = DEBUG log4j.logger.java.sql.ResultSet =DEBUG


mapper:存放数据库的实体对应的xml文件,UserMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.ssmdemo.dao.UserDao">
	<insert id="add" parameterType="User">
		insert into user(username,password,email) values(#{username},#{password},#{email})
	</insert>
	
	<update id="update" parameterType="User">
		update user set username = #{username},
      password = #{password},
      email = #{email}
    where id = #{id}
	</update>
	
	
	<delete id="delete" parameterType="Integer">
		delete from user where id = #{id}
	</delete>
	
	<select id="findByID" parameterType="Integer" resultType="User">
		select * from user where id = #{id}
	</select>
	
	<resultMap type="User" id="userMap">
		<id column="id" property="id"/>
		<result column="username" property="username"/>
		<result column="password" property="password"/>
		<result column="email" property="email"/>
		<!-- <association property="classes" column="class_id" select="findByID"></association> -->
	</resultMap>
	
	<select id="findAll" resultMap="userMap">
		select * from user
	</select>
	
</mapper>

至此框架的配置过程就完成了,现在我们要开始写后台文件了,SSM也是一个典型的三层架构模式,所以它也拥有entity . dao , service , controller这些包,

4)实体类中的User.java 文件

package com.ssmdemo.entity;
public class User {

	private Integer id;
	private String username;
	private String passsword;
	private String email;
	
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	
	
}

5)dao层,其中写的是数据库底层的增删改方法,UserDao.java文件

package com.ssmdemo.dao;

import java.util.List;

import org.springframework.stereotype.Repository;

import com.ssmdemo.entity.User;

@Repository(value="userDao")
public interface UserDao {
	 /**
     * 此方法对应于数据库中的表 ,user
     * 新写入数据库记录
     *
     * @param record
     */
	void add(User user);
	 /**
     * 此方法对应于数据库中的表 ,user
     * 根据主键来更新符合条件的数据库记录
     *
     * @param record
     */
	void update(User user);
	 /**
     * 此方法对应于数据库中的表 ,user
     * 根据主键删除数据库的记录
     *
     * @param id
     */
	void delete(Integer id);
	
	 /**
     * 此方法对应于数据库中的表 ,user
     * 根据指定主键获取一条数据库记录
     *
     * @param id
     */
	User findByID(Integer id);
	/**
     * 此方法对应于数据库中的表 ,user
     * 查询所有数据库记录
     */
	List<User> findAll();
}

6)service层,业务逻辑层 其中写的是各类业务方法,该包的目录结构类似于SSH框架中service的目录结构,该包存放的是接口,和一个实现类的包

UserService.java

package com.ssmdemo.service;

import java.util.List;

import com.ssmdemo.entity.User;

public interface UserService {

	public void add(User user);
	
	public void update(User user);
	
	public void delete(Integer id);
	
	public User findByID(Integer id);
	
	public List<User> findAll();
}

UserServiceImpl.java

package com.ssmdemo.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import com.ssmdemo.dao.UserDao;
import com.ssmdemo.entity.User;
import com.ssmdemo.service.UserService;

@Service(value = "userService")
@Transactional
public class UserServiceImpl implements UserService {

	@Autowired
	private UserDao userDao;
	
	public void add(User user) {
		userDao.add(user);
	}

	public void update(User user) {
		userDao.update(user);
	}

	public void delete(Integer id) {
		userDao.delete(id);
	}
	@Transactional(propagation = Propagation.NOT_SUPPORTED,readOnly = true)
	public User findByID(Integer id) {
		return userDao.findByID(id);
	}
	@Transactional(propagation = Propagation.NOT_SUPPORTED,readOnly = true)
	public List<User> findAll() {
		return userDao.findAll();
	}

}


7)controller,该包的功能可以理解为SSH中的action,但其实并不是 它们的意思有很大的不同,UserController.java

package com.ssmdemo.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.test.context.TestExecutionListeners;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import com.ssmdemo.entity.User;
import com.ssmdemo.service.UserService;

@Controller
@RequestMapping(value="/user")
public class UserController {

	@Autowired
	private UserService userService;
	
	
	/**
     * 用户信息列表
     * @return
     * 如果采用JSON传值,那么需要注释掉下方方法中的代码
     * List<User> userList = userService.findAll();
     * mv.addObject("userList", userList);
     * 直接返回一个空视图名称
     * 页面异步加载数据,请查看下方注释方法
     */
	@RequestMapping(value = "/userList")
	public ModelAndView userList(){
		List<User> userList = userService.findAll();
		ModelAndView mv = new ModelAndView();
		mv.addObject("userList", userList);
		mv.setViewName("userList");
		
		return mv;
	}
	/**
     * 用户信息列表   页面异步加载
     * @return
     * @ResponseBody 注解的作用是将目标类型数据转换成json格式
     * 另外页面需要加入jquery js
     */
	/*@RequestMapping(value = "/list")
	public @ResponseBody List<User> list(){
		List<User> userList = userService.findAll();
		return userList;
	}
	*/
	
	/**
     * 跳转到添加信息视图
     * @return
     */
	@RequestMapping(value = "/addLoad")
	public ModelAndView addLoad(){
		ModelAndView mv = new ModelAndView();
		mv.setViewName("add");
		return mv;
	}
	/**
     * 添加信息
     * @param user
     * @return
     */
	@RequestMapping(value = "/add",method = RequestMethod.POST)
	public String add(User user){
		userService.add(user);
		return "redirect:/user/userList";
	}
	/**
     * 修改信息获取,跳转到修改信息视图
     * @param id
     * @return
     */
	@RequestMapping(value = "/editLoad")
	public ModelAndView editLoad(@RequestParam(value = "id") Integer id){
		User user = userService.findByID(id);
		ModelAndView mv = new ModelAndView();
		mv.addObject("user", user);
		mv.setViewName("edit");
		return mv;
	}
	/**
     * 修改信息
     * @param user
     * @return
     */
	@RequestMapping(value = "/edit",method = RequestMethod.POST)
	public String edit(User user){
		userService.update(user);
		return "redirect:/user/userList";
	}
	/**
     * 删除用户
     * @param id
     * @return
     */
	@RequestMapping(value = "/delete")
	public String  delete(@RequestParam(value = "id") Integer id){
		userService.delete(id);
		
		return "redirect:/user/userList";
	}
	

至此一个简易的SSM框架就搭建好了,我们现在在进行一个千寻漫画的开发,前台是移动安卓端,后台是一个SSM框架写的,拥有爬虫技术去搜索漫画后把漫画发给安卓端去显示的系统,后续在开发的过程中如果有一些自己的心得体会也会记录下来,供自己以及大家学习分享!



  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值