微服務本機搭建
阿新 • • 發佈:2018-07-30
文件 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>
微服務本機搭建