spring+springmvc+springDataJpa+maven项目环境搭建

 

更多参考  http://www.jiajiajia.club/blog/artical/135

spring+springmvc+springDataJpa+maven

 

1.maven环境配置https://blog.csdn.net/qq_36489998/article/details/80525010

2.创建maven项目

    项目目录如下:

        spring+springmvc+springDataJpa+maven项目环境搭建_第1张图片

    发现jsp报错,接下来配置tomcat服务器

3.配置tomcat服务器

        将项目加入服务器中

        配置path

        spring+springmvc+springDataJpa+maven项目环境搭建_第2张图片

        添加library

        spring+springmvc+springDataJpa+maven项目环境搭建_第3张图片

再选择source选项卡,将带差号的文件夹remove掉

再点击add folder

spring+springmvc+springDataJpa+maven项目环境搭建_第4张图片

spring+springmvc+springDataJpa+maven项目环境搭建_第5张图片

点击apply and close完成!!!

4.开始配置sssj

       1. 在父项目的pom文件中加入必须的jar依赖

        spring+springmvc+springDataJpa+maven项目环境搭建_第6张图片

pom.xml



  4.0.0
  com.sssj.test
  sssj
  0.0.1-SNAPSHOT
  pom
  
  
  
    UTF-8
    4.12
    4.2.5.RELEASE
    4.3.5.Final
    4.0.4.Final
    5.1.22
    1.9.2
	1.2.20
    2.7
    1.7.21
    2.4
	1.3.1
  	4.0.0-b01
	1.2
  
  
  
  	
  	
	
	    commons-codec
	    commons-codec
	    1.9
	
  	
  	
	
	    com.mchange
	    c3p0
	    0.9.5.2
	
  	
	
	    com.sun.mail
	    javax.mail
	    1.6.1
	
	
	
	    commons-dbutils
	    commons-dbutils
	    1.7
	
	
  	
  
  	
			org.springframework
			spring-core
			${spring.version}
	  
	  
	        org.springframework
	        spring-beans
	        ${spring.version}
	  
	  
	        org.springframework
	        spring-context
	        ${spring.version}
	  
	  
	  
	   
			org.springframework
			spring-tx
			${spring.version}
	   
	   
			org.springframework
			spring-jdbc
			${spring.version}
	   
	  
	  
	   
			org.springframework
			spring-web
			${spring.version}
	   
	   
			org.springframework
			spring-webmvc
			${spring.version}
	   
	   
	   
		
			org.springframework
			spring-aop
			${spring.version}
		
		
			org.springframework
			spring-context-support
			${spring.version}
		
		
			org.springframework
			spring-oxm
			${spring.version}
			
		
		    org.aspectj
		    aspectjweaver
		    1.8.10
		
		
		    org.springframework.data
		    spring-data-jpa
		    1.5.2.RELEASE
		
		
		
		
		
		
        org.hibernate
        hibernate-core
        ${hibernate.version}
    
    
        org.hibernate
        hibernate-entitymanager
        ${hibernate.version}
    
    
        org.hibernate.common
        hibernate-commons-annotations
        ${hibernate.annotations.version}
    
    
       org.hibernate.javax.persistence
       hibernate-jpa-2.1-api
       1.0.0.Final
    
    
    
    
			mysql
			mysql-connector-java
			${mysql.driver.version}
	

	
	
	
	    log4j
	    log4j
	    1.2.17
	
	
	
		org.slf4j
		slf4j-api
		${slf4j.version}
	
		
	
	
	
    
	    com.fasterxml.jackson.core
	    jackson-core
	    2.8.5
	
	
	    com.fasterxml.jackson.core
	    jackson-databind
	    2.8.5
	
   
   
   
        javax.servlet
        javax.servlet-api
        3.1.0
        provided
    
		
  
  
  
  
    webapp
  

2.在resources文件夹下加入 spring的配置文件,以及springmvc的配置文件

    在这里把springdatajpa的配置文件放在了applicationContxt中了

spring+springmvc+springDataJpa+maven项目环境搭建_第7张图片

    applicationContext.xml



	
	
	
	
	
	
		
		
		
		
	
	
	
	
		
	
	
	
	
		
		
		
			
		
		
		
		
		
		
			
				true
				true
				update
			
		
	
	
	
	
			
	
	
	
	
	
	
	
	
	 

spring-mvc。xml




	
	
   	
        
    
	 
	
	
	
	
	
	
	
	
		
		
	

修改web.xml配置文件





	  
        index.jsp  
    

    

	 
        org.springframework.web.context.ContextLoaderListener
    
	

    
        contextConfigLocation
        classpath:applicationContext.xml
    
    
	
      

	
        characterEncodingFilter
        org.springframework.web.filter.CharacterEncodingFilter
        
            encoding
            UTF-8
        
        
            forceEncoding
            true
        
    
    
        characterEncodingFilter
        /*
    
	
	
    
    
    
        contacts
        org.springframework.web.servlet.DispatcherServlet
          
            contextConfigLocation  
            
            classpath:spring-mvc.xml
          
        1  
    
    
        contacts
        /
    
    
    
    
    	java.lang.Throwable
    	/WEB-INF/views/error/404.jsp
  	
  	
    	404
    	/WEB-INF/views/error/404.jsp
  	
  	
    	500
    	/WEB-INF/views/error/500.jsp
  	
  	

因为spring-mvc.xml中视图管理器的配置

所以要在 web-inf文件夹下创建views文件夹,再创建一个index.jsp文件测试

spring+springmvc+springDataJpa+maven项目环境搭建_第8张图片

到目前为止,启动tomcat已经没问题

spring+springmvc+springDataJpa+maven项目环境搭建_第9张图片

 

 

5.集中测试

 

    测试springmvc配置

    首先再java文件夹下,创建如下文件夹

    spring+springmvc+springDataJpa+maven项目环境搭建_第10张图片

在controller文件夹下创建IndexController.java文件,内容如下

package com.sssj.test.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
@RequestMapping("/index")
public class IndexController {
	@RequestMapping("/index")
	public ModelAndView index() {
		System.out.println("loading");
		ModelAndView modelAndView=new ModelAndView("index");
		return modelAndView;
	}
}

修改web-inf下 index.jsp文件,取访问/index/index路径,上面的图片指错了,不是views文件夹下的



Hello World!

 

重新启动项目,在浏览器上点击hello world,跳转到了 views文件下的index.jsp

spring+springmvc+springDataJpa+maven项目环境搭建_第11张图片

spring mvc配置成功

 

接下来测试springdatajpa测配置,,

在entity文件夹下新建 SssjEntity 类如下

 

spring+springmvc+springDataJpa+maven项目环境搭建_第12张图片

sssjEntity.java

package com.sssj.test.entity;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="testEntity")
public class SssjEntity {
	@Id
	@GeneratedValue
	private Integer id;
	private String name;
	private String password;
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public SssjEntity() {
		super();
		// TODO Auto-generated constructor stub
	}
	public SssjEntity(String name, String password) {
		super();
		this.name = name;
		this.password = password;
	}
	@Override
	public String toString() {
		return "SssjEntity [id=" + id + ", name=" + name + ", password=" + password + "]";
	}
	public SssjEntity(Integer id, String name, String password) {
		super();
		this.id = id;
		this.name = name;
		this.password = password;
	}
	
}

重新启动tomcat服务器,发现 数据库中已经建立了一个  testEntity数据表

spring+springmvc+springDataJpa+maven项目环境搭建_第13张图片

 

说明springdatajpa已经配置完成了

接下来进行添加一条数据,测试

在dao层,和service层添加如下文件

spring+springmvc+springDataJpa+maven项目环境搭建_第14张图片

MyRepository.java

package com.sssj.test.dao;

import org.springframework.data.repository.CrudRepository;
import com.sssj.test.entity.SssjEntity;
public interface MyRepository extends CrudRepository{
	
}

TestService.java

package com.sssj.test.service;

import javax.transaction.Transactional;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.sssj.test.dao.MyRepository;
import com.sssj.test.entity.SssjEntity;
@Service
public class TestService {
	@Autowired
	private MyRepository myRepository;
	
	@Transactional
	public void addTest(SssjEntity sssj,SssjEntity sssj2) {
		myRepository.save(sssj);
		myRepository.save(sssj2);
	}
}

修改IndexController.java如下

package com.sssj.test.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.sssj.test.entity.SssjEntity;
import com.sssj.test.service.TestService;
@Controller
@RequestMapping("/index")
public class IndexController {
	@Autowired
	private TestService TestService;
	@RequestMapping("/index")
	public ModelAndView index() {
		System.out.println("loading");
		TestService.addTest(new SssjEntity(1,"123","123"), new SssjEntity(2,"456","789"));
		ModelAndView modelAndView=new ModelAndView("index");
		return modelAndView;
	}
}

向数据库中添加两条数据

 

new SssjEntity(1,"123","123"), new SssjEntity(2,"456","789")

在次访问index/index路径

http://localhost:8080/webapp/index/index

添加成功

spring+springmvc+springDataJpa+maven项目环境搭建_第15张图片

测试成功

 

接下来测试   事务管理器   是否配置成功

先把原数据库中的数据删除

在testService.java中添加如下代码 int a=1/0; 我们手动制造异常

package com.sssj.test.service;

import javax.transaction.Transactional;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.sssj.test.dao.MyRepository;
import com.sssj.test.entity.SssjEntity;
@Service
public class TestService {
	@Autowired
	private MyRepository myRepository;
	
	@Transactional
	public void addTest(SssjEntity sssj,SssjEntity sssj2) {
		myRepository.save(sssj);
		int a=1/0;
		myRepository.save(sssj2);
	}
}

再次访问 index/index路径

http://localhost:8080/webapp/index/index

spring+springmvc+springDataJpa+maven项目环境搭建_第16张图片

发现 服务器执行了 第一条插入语句

在第二次插入之间报错

但是数据表里并没有数据

说明事务管理器配置成功,@Transactional注解起了作用

 

到此应该是大功告成

接下来就开始开发吧

也可以建立更多的 子项目 来满足我们的开发需求

只需要配置一下依赖就可以了

 

你可能感兴趣的:(框架,java)