1. 程式人生 > >微服務本機搭建

微服務本機搭建

文件 nap oca 疊加 system ted 啟動 host new

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>

微服務本機搭建