码迷,mamicode.com
首页 > 编程语言 > 详细

SpringBoot的web部署, SpringBoot开发非Web程序

时间:2020-11-21 12:42:59      阅读:18      评论:0      收藏:0      [点我收藏+]

标签:override   middle   cal   version   令行   pen   git bash   source   bean   

录:

1、SpringBoot的web项目部署为war
2、SpringBoot的web项目部署为jar
3、SpringBoot开发非Web程序
    3.1、方式一:利用 main()方法
    3.2、方式二:通过springboot启动加载类 CommandLineRunner#run()

1、SpringBoot的web项目部署为war    <--返回目录

  项目结构

技术图片

   继承 SpringBootServletInitializer,重写configure()方法

技术图片
@SpringBootApplication
public class Application extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
    
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(Application.class);
    }

}
View Code

  将pom.xml的项目打包方式改为 war,  <packaging>war</packaging>;在 pom.xml 添加springboot打包插件;<finalName>demo</finalName> 配置了最终打包为demo.war。具体pom.xml为:

<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.1.RELEASE</version>
    </parent>

    <groupId>com.oy</groupId>
    <artifactId>boot-hello</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <name>boot-hello</name>
    <description>project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

    <build>
        <finalName>demo</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

  选中项目 -> 右键 -> Run as... -> Maven build... ->输入命令 clean package -DskipTests

技术图片

 

   选中项目 -> 右键 -> Properties

技术图片

技术图片

   将demo.war放到tomcat,启动tomcat

技术图片

   访问 http://localhost:8080/demo/hello。

 

2、SpringBoot的web项目部署为jar    <--返回目录

  另外可以参考:netty-socketio(一)之helloworld,与springboot整合(linux注册服务启动jar服务)

  将pom.xml的项目打包方式改为 jar,  <packaging>jar</packaging>;在 pom.xml 添加springboot打包插件;<finalName>demo</finalName> 配置了最终打包为demo.jar。

  选中项目 -> 右键 -> Run as... -> Maven build... ->输入命令 clean package -DskipTests

技术图片

   进入到 target 目录,  shift + 右键 ->在此处打开命令行窗口 或 Git Bash Here

技术图片

  在打开的命令行窗口输入 java -jar demo.jar。

  访问http://localhost:8080/hello。

 

3、SpringBoot开发非Web程序    <--返回目录

3.1、方式一:利用 main()方法    <--返回目录

技术图片

  pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.1.RELEASE</version>
    </parent>

    <groupId>com.oy</groupId>
    <artifactId>boot-hello</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>
    <name>boot-hello</name>
    <description>project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
    </dependencies>

    <build>
        <finalName>demo</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

  UserServiceImpl

@Service
public class UserServiceImpl implements UserService {

    @Override
    public void getUser(Integer id) {
        System.out.println("id = " + id);
    }
    
}

  Application

@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        ConfigurableApplicationContext context = SpringApplication.run(Application.class, args);
        UserService userService = (UserService)context.getBean(UserService.class);
        userService.getUser(1);
    }
    
}

  运行:Application#main()方法,选中main, 右键 -> run as -> java application。当然也可以打成jar包,通过java -jar demo.jar运行。

 

3.2、方式二:通过springboot启动加载类 CommandLineRunner#run()    <--返回目录

  依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
</dependency>

  Application

@SpringBootApplication
public class Application implements CommandLineRunner {

    @Autowired
    private UserService userService;
    
    public static void main(String[] args) {
         SpringApplication.run(Application.class, args);
    }

    @Override
    public void run(String... args) throws Exception {
        userService.getUser(2);
    }
    
}

  运行:Application#main()方法,选中main, 右键 -> run as -> java application。当然也可以打成jar包,通过java -jar demo.jar运行。

SpringBoot的web部署, SpringBoot开发非Web程序

标签:override   middle   cal   version   令行   pen   git bash   source   bean   

原文地址:https://www.cnblogs.com/xy-ouyang/p/13997566.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!