1-helloWorld

新建一个maven工程,并新建各层目录

编写pom.xml

<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.haerwang</groupId>
	<artifactId>spring.boot</artifactId>
	<version>0.0.1-SNAPSHOT</version>

	<!--必须引用父模块,指明这是个springboot工程,帮我们实现很多jar包的依赖,不需要自己依赖jar包 -->
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.3.6.RELEASE</version>
	</parent>

	<!--springboot默认集成mvc,遇到依赖以下web即可,相当于搭建好了web环境-->
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
	</dependencies>

</project>

  

新建一个controller

package com.haerwang.springboot.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author haerwang
 * @RestController ----相当于加了 @Controller 和 @ResponseBody(返回josn)
 */
@RestController
@RequestMapping("/hello")
public class HelloWorldController {
@RequestMapping("/sayHello") public String sayHello() { return "hello"; } }

  

新建一个主程序main入口(启动用的,这也是网上说,springboot是一个独立的应用程序)

package com.haerwang.springboot.app;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;


/**
 * @author haerwang
 * @ComponentScan 指明需要扫描的路径,扫描到的含有标签类会自动装载成bean,比如contoller层的@RestController
 * @EnableAutoConfiguration 程序启动标签,主程序入口,开始在这里加载各种配置
 */
@ComponentScan(basePackages = ("com.haerwang.springboot"))
@EnableAutoConfiguration
public class APP {
	public static void main(String[] args) {
		SpringApplication.run(APP.class, args);
	}
}

  

到此,可以直接右键main启动,在浏览器输入网址:http://localhost:8080/hello/sayHello即可

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

接下来新增一层,service,将逻辑延伸到新的一层

写一个service及实现类(习惯问题,可以直接写一个类)

package com.haerwang.springboot.service;

public interface HelloWorldService {
	String sayHello();
}

  

package com.haerwang.springboot.service.impl;


import org.springframework.stereotype.Service;

import com.haerwang.springboot.service.HelloWorldService;

@Service
public class HelloWorldServiceImpl implements HelloWorldService{

	@Override
	public String sayHello() {
		
		return "hello";
	}

}

  注意这个@Service

修改controller

package com.haerwang.springboot.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.haerwang.springboot.service.HelloWorldService;

/**
 * @author haerwang
 * @RestController ----相当于加了 @Controller 和 @ResponseBody(返回josn)
 */
@RestController
@RequestMapping("/hello")
public class HelloWorldController {

	@Autowired
	HelloWorldService helloWorldService;

	@RequestMapping("/sayHello")
	public String sayHello() {
		return helloWorldService.sayHello();
	}
}

  

老方法启动,效果依旧

原文地址:https://www.cnblogs.com/haerwang/p/8078732.html