微服务本机搭建

Posted li-zhan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微服务本机搭建相关的知识,希望对你有一定的参考价值。

springboot工程创建

直接访问网址:https://start.spring.io/  ,可以创建一个springboot工程。

1,编写简单的contooler测试:

新建一个HelloController

package org.spring.web.controller;


import javax.jms.Topic;
import org.spring.web.entity.User;
import org.spring.web.service.MqSendService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
*
* 项目名称:spring-web
* 类名称:HelloController
* 类描述:
* 创建人:john
* 创建时间:2018年7月28日 上午11:21:12
* 修改人:john
* 修改时间:2018年7月28日 上午11:21:12
* 修改备注:
* @version
*
*/
@RestController
@RequestMapping("/hello")
public class HelloController {
    @Value("${com.interview.question}")
    private String interviewQuestion;
    @Autowired
    private MqSendService mqSendService;
    @Autowired
    private Topic pbcTopic;
    @Autowired
    private Topic vehTopic;
    
    @RequestMapping("/hello")
    public String hello(){
        return interviewQuestion;
    }
    @RequestMapping("/sendMQ")
    public  String sendMsg(){
        mqSendService.sendMsg(pbcTopic, "nihao");
        return "sendMQ";
    }
    @RequestMapping("/sendUser")
    public User sendUser(){
        User user=new User();
        user.setAge(11);
        user.setId(1);
        user.setPassword("password");
        user.setUserName("userName");
        /*ActiveMQObjectMessage msg=new ActiveMQObjectMessage();
        try {
            msg.setObject((Serializable)user);
        } catch (JMSException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }*/
        mqSendService.sendObject(vehTopic, user);
        return user;
    }

}

访问网址:localhost:8080/hello/hello,就可以看到效果。

@RequestController——@controller和@RequestBody注解的叠加,返回的是json格式的数据;

@RequestMapping——URL映射

@autowired——自动注入

@Value——配置参数,将配置文件中的参数赋值给该变量

2,启动类介绍

package org.spring.web;


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * Hello world!
 *
 */
@SpringBootApplication
//@MapperScan("org.spring.web.mapper")

public class App 
{
    
    public static void main( String[] args )
    {
        SpringApplication.run(App.class, args);
        System.out.println( "Hello World!" );
    }
}

 

springboot启动的入口。工程启动的时候,会加载所有的配置,所有的注解,检查注入打的bean的唯一性,并且会检查mpper.xml文件(并不会检查sql的正确性),并没有因为逻辑层的先后调用关系,而产生先后的注入关系。

 3,配置文件 application.properties

#系统中用到的参数配置  编码格式
com.interview.question=springboot有哪些配置的注解

4,maven管理文件 pom.xml

<?xml version="1.0"?>
<project
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
    xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.1.RELEASE</version>
        <relativePath /> <!-- lookup parent from repository -->
    </parent>

    <groupId>com.microservice</groupId>
    <artifactId>spring-web</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>spring-web</name>
    <url>http://maven.apache.org</url>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <!-- 添加web包 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

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

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>    
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
        
    </dependencies>
</project>

 

以上是关于微服务本机搭建的主要内容,如果未能解决你的问题,请参考以下文章

[.Net]使用Soa库+Abp搭建微服务项目框架:服务发现和健康监测

带你十天轻松搞定 Go 微服务系列

带你十天轻松搞定 Go 微服务系列

带你十天轻松搞定 Go 微服务系列

maven+spring boot搭建简单微服务

maven+spring boot搭建简单微服务