idea 创建spring boot + maven + mybatis 项目并打包部署

前言: 由于在代码中使用注解编写sql 会导致后期难以维护和混乱, 这里使用的mybatis是 用xml 文件。连接的是oracle12c

步骤:

1:

 点击next:

 填写: group   , artifact ,  packaging 选war

选择:web

下一步:

创建后的目录是这样的:

红色目录删除: 我有强迫症, 所以我把它删了, 没有强迫症的可删可不删

在上面的目录删除后,

1:在test > java 下新建一个  test 包, 在包下建一个 BaseTest.class, 内容如下:这是测试类, 配置好就可以在里面写方法测试了, 注入接口,或者dao 都可以。

//获取启动类,加载配置,确定装载 Spring 程序的装载方法,它会去寻找  主配置启动类(@SpringBootApplication 注解)
@SpringBootTest(classes = Main.class)
//让Junit运行spring的测试环境, 获得Spring上下文的支持
@RunWith(SpringRunner.class)
//获取上下文支持
@WebAppConfiguration
public class BaseTest {

     @Test
     public  void test1()
     {
          System.out.println("test1");
     }
}

2: 将 com.test.demo 下的两个类: ServletInitializer   , DemoApplication 移动到com.test下, 将demo包删除, 将DemoApplication   ReName 为 Main.class

接下来启动一下:

出现 Tomcat started on port(s): 8080  就是启动成功了, 这个是tomcat 启动后的端口。

配置 pom.xml

1 改为: 1.0-SNAPSHOT

2: 删除

在 pom.xml  dependencies 标签 中引入 以下包

<!-- 热部署模块 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional> <!-- 这个需要为 true 热部署才有效 -->
</dependency>

<!-- spring-boot整合mybatis -->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.2.2</version>
</dependency>

<!--pagehelper -->
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.2.7</version>
</dependency>


<!-- a阿里巴巴 druid-->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.1.9</version>
</dependency>
<!-- jsckson -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.15</version>
</dependency>

<!-- oracle  jdbc> -->
<dependency>
    <groupId>oracle.jdbc</groupId>
    <artifactId>ojdbc8</artifactId>
    <version>12.2.0.1</version>
</dependency>

点击1 , 在点击2  下载包

配置 application.properties

#内置tomcat端口
server.port=8080

#配置字符编码
spring.http.encoding.force=true
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
server.tomcat.uri-encoding=UTF-8

#数据库连接地址
spring.datasource.url=jdbc:oracle:thin:@192.168.32.128:1521/orcl
#用户名
spring.datasource.username=dev
#密码
spring.datasource.password=dev
#连接驱动
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
#数据源类型
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

#mybatis配置

# 对应实体类的路径
mybatis.type-aliases-package=com.test.model
#一定要对应mapper映射xml文件的所在路径
mybatis.mapper-locations=classpath:mapper/*.xml

#分页设置
pagehelper.helperDialect=oracle
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql

#日志配置 打印sql
logging.level.com.test.interfaces.dao = debug

创建 model  实体 和 mapper

创建 dao  interface

创建  userService  interface

创建 userServiceImpl  类

创建 controller  class

配置 启动类:

1:扫描 dao层

2: 重写spring boot的json

/*
  *重写spring  boot  Json  ,  用的是阿里巴巴的 FastJson
  * 有两种方式
  * 1:继承 ,重写 configureMessageConverters 这个方法, 推荐使用这一种,
  *    因为当对象有空值时, 空值不会返回
  * 2: 注入bean的方式, 不推荐使用,  当对象有空值时, 空值也会返回json键值
 */
@Override
public void  configureMessageConverters(List<HttpMessageConverter<?>> converters)
{
    super.configureMessageConverters(converters);
    FastJsonHttpMessageConverter fhc = new FastJsonHttpMessageConverter();
    FastJsonConfig config = new FastJsonConfig();
    config.setSerializerFeatures(SerializerFeature.PrettyFormat);
    fhc.setFastJsonConfig(config);
    converters.add(fhc);
}

整个 demo的目录:

在 Main.class 启动类启动后 访问一下: localhost:8080/add

关于: 热部署, 只需要 以下引入 就可以热部署, 不需要其他配置,

热部署原理是: 两个classLoader, 一个classLoader监听修改的文件,重启应用,发生的时机的保存的时候。重启大概是5秒以内

打包要制定打包后的名字,在pom中添加:

打包:可以直接打包为 jar , 然后 java -jar  demo.jar, 修改以下:将war改为jar就可以 打包成jar ,  改为war 就可以打包为 war发布到tomcat

执行  clean   install, 在目录下出现 target 下  demo.war  ,将  demo.war  放置 tomcat > webapps 下, 启动 tomcat,

输入 tomcat所在ip : 8080/demo/add  就能成功访问。

猜你喜欢

转载自blog.csdn.net/tang_jian_dong/article/details/83278226