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启动的入口。
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>
总结说明:
工程启动的时候,
1:会加载所有的配置;
2:加载所有的注解,检查注入打的bean的唯一性;(并没有因为逻辑层的先后调用关系,而产生先后的注入关系。)
3:并且会检查mpper.xml文件(并不会检查sql的正确性);
4:如果pom.xml文件中配置有mybatis的依赖,而配置中没有数据库连接信息,项目启动的时候会报错;