栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringBoot整合JPA打包并部署到Tomcat

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot整合JPA打包并部署到Tomcat

启动类
 

继承org.springframework.boot.web.servlet.support.SpringBootServletInitializer类,覆盖configure()方法,用于打包。

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;


@SpringBootApplication
public class App extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
    
    // 用于构建war文件并进行部署
    @Override
    protected SpringApplicationBuilder configure(
        SpringApplicationBuilder builder) {
        return builder.sources(this.getClass());
    }
}

 排除 spring-boot-starter-tomcat

1)这个其实不是必须的,就是不排除这个,打包后jar包里面多了tomcat插件相关的jar,看起来不严谨。

2)增加 javax.servlet-api。 如果没有排除 tomcat依赖的话,可以不加这个,但如果排除了tomcat插件依赖就必须加这个了。

3)还有说明一下,如果测试阶段用 mvn clean spring-boot:run 启动,是万万不能排除 tomcat依赖的。所以,我是在开发阶段注释掉这个依赖,在部署打包前,再让这个依赖生效。


  4.0.0
  com.myspringboot
  MySpringBoot03
  0.0.1-SNAPSHOT
  war
      
        org.springframework.boot
        spring-boot-starter-parent
        1.5.10.RELEASE
    

    
        1.8
    

  
      
        
        
            org.springframework.boot
            spring-boot-starter-web
            
            
                
                    org.springframework.boot
                    spring-boot-starter-tomcat
                

            

        
 
        
        
            javax.servlet
            javax.servlet-api
            3.1.0
            provided
        

        
        
        
            org.springframework.boot
            spring-boot-starter-data-jpa
        
 
        
        
            mysql
            mysql-connector-java
        
 
    

Controller内容


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

import com.myspringboot.dao.UserDao;
import com.myspringboot.pojo.Users;

@Controller
@RequestMapping("/users")
public class UserController {
    
    @Autowired
    private UserDao userDao;   //继承JpaRepository
    
    @RequestMapping("/get")
    @ResponseBody
    public Object get(Integer id) {
        System.out.println("get success");
        return userDao.findOne(id);
    }
    
    @RequestMapping("/add")
    @ResponseBody
    public Object add(String name,Integer age) {
        Users users = new Users();
        users.setAge(age);
        users.setName(name);
        userDao.save(users);
        System.out.println("add success");
        return "ok";
    }
    
    @RequestMapping("/addByJpa")
    @ResponseBody
    public Object addByJpa() {
        Users users = new Users();
        users.setAge(18);
        users.setName("lisi");
        userDao.save(users);
        System.out.println("add success");
        return "ok";
    }
    
    @RequestMapping("/addByJpa2")
    @ResponseBody
    public Object addByJpa(String name,Integer age) {
        Users users = new Users();
        users.setAge(age);
        users.setName(name);
        userDao.save(users);
        System.out.println("add success2");
        return "ok";
    }
}
 

UserDao内容

注意:一定要继承JpaRepository

import org.springframework.data.jpa.repository.JpaRepository;

import com.myspringboot.pojo.Users;

public interface UserDao extends JpaRepository {

}
 

Users内容

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;


@Entity(name ="users")
public class Users {
    @Id   //少了这个注释会导致启动springboot报错
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name="id")
    private Integer id;
    @Column(name="name")
    private String name;
    @Column(name="age")
    private Integer age;
    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 Integer getAge() {
        return age;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
}
 

application.properties内容

spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/ssm
spring.datasource.username=root
spring.datasource.password=123456789

打包

在项目根目录执行maven 命令: mvn  clean  package
很多朋友不习惯添加 clean ,我觉得很奇怪,注意,一定要加上这个。

或者右键项目名称,点击Run as > Maven build,弹出以下窗口:

在Goals输入 clean package,然后点击Run

 

部署到Tomcat

在 target 文件夹下找到war,或文件夹,直接拷贝到 tomcat下的webapps文件夹下即可。
 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/865537.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号