初探SpringBoot以及在Eclipse编写Hello World

本文介绍SpringBoot框架的由来与优势,演示如何在Eclipse中搭建SpringBoot环境,解析项目结构,并通过示例代码展示SpringBoot的运行流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

标题初探SpringBoot以及在Eclipse编写Hello World

最近在研究SpringBoot,起初接触的是Struts2、Hibernate和Spring,在延伸阅读中发现了SpringBoot,本文适用于刚接触SpringBoot却对后台程序配置部署一头雾水的入门级选手,大神绕过。

标题SpringBoot由来

#Spring Boot是由Pivotal

2013年由EMC、VMware和GE共同投资成立,再加上后来戴尔收购EMC成为股东,Pivotal可谓是含着金汤匙出生。基于Pivotal的敏捷开发、Pivotal Cloud Foundry (PaaS)云平台以及Pivotal大数据套件等解决方案和产品,Pivotal颠覆了世界软件的构建方式。2016年5月其获得C轮融资,福特领投,微软参与,估值达28亿美金。

团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。
相比于Spring,SpringBoot具有很多优化的地方,首先,Spring Boot可以建立独立的Spring应用程序,其内嵌了如Tomcat,Jetty和Undertow这样的容器,用不着再对Tomcat等环境进行部署,无需部署WAR文件;同时,无需像Spring那样配置一堆繁琐的xml文件,可以自动配置,SpringBoot将原有的XML配置转换为Java配置,将bean注入改为使用注解注入的方式(@Autowire),并将多个xml、properties浓缩在一个appliaction.yml配置文件中;另外,提供的POM可以简化Maven的配置。当我们引入核心依赖时,SpringBoot会自引入其他依赖。

标题在Eclipse编译器中部署SpringBoot环境

可以通过2种方式导入SpringBoot数据包:

  1. 在应用市场下载
    Help-Eclipse Marketplace
    点击Help-Marketplace进入应用市场
  2. 在Spring官网下载
    在这里插入图片描述
    登录spring官方网址,根据项目管理方式以及项目填写信息生成项目文件,并在Eclipse中打开。

介绍SpringBoot项目基本结构

在这里插入图片描述
(1)应用主类SpringbootApplication应该放于根目录下springboot下,通常在主类中做一些框架配置;
(2)实体(entity)与数据库访问层(Repository)位于domain包下;
(3)逻辑层位于service包下;
(4)Web层位于web包下;
(5)图片文件放于static文件夹下;
(6)html文件放于templates文件夹下;
(7)application.properties 文件主要配置一些数据库连接等信息。
下面是pom.xml文件内容:

<?xml version="1.0" encoding="UTF-8"?>
<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.example</groupId>
	<artifactId>demo</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>demo</name>
	<description>Demo project for Spring Boot</description>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.1.0.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

	<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>
		<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>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>
	</project>

这里Maven的核心功能就是通过pom.xml文件的配置获取jar包,而不用手动去添加jar包,具体通过groupId、artifactId、version三个属性定位一个jar包。
在这里插入图片描述
DemoApplication.java是整个项目的启动文件,通过main函数中的SpringApplication.run函数启动

@SpringBootApplication
public class DemoApplication {
	public static void main(String[] args) {
		SpringApplication.run(DemoApplication.class, args);
	}
}

主函数调用管理类页面控制函数

package com.example.demo;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
		@RequestMapping("/")
		public String hello()
		{
			return "<h1>Welcome to start SpringBoot!</h1>";
		}
}

对于@SpringBootApplication注解,它包括三个注解:
1.@Configuration:表示将该类用做springboot配置文件类;
2.@EnableAutoConfiguration:表示程序启动时,自动加载springboot默认的配置;
3.@ComponentScan:表示程序启动时,自动扫描当前包及子包下所有类。
对于@RestController注解,表示用来接收HTTP请求,并且@RestController是@Controller和@ResponseBody的结合。
当客户端发出Http请求时,服务器后台调用HelloController类,通过hello函数相应请求。
当编辑好HelloController后,以Spring Boot App方式运行,编译器会自动搭建tomcat环境
在这里插入图片描述
当登录localhost:8080地址时,接收到hello()函数相应的返回字符串:
在这里插入图片描述

IOC和AOP的意思

想要学习SpringBoot,首先应该熟悉其内部的实现原理,其中IOC和AOP是两个主要的技术支撑:
控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找”(Dependency Lookup)。通过控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体,将其所依赖的对象的引用传递给它。也可以说,依赖被注入到对象中。
面向切面编程(Aspect Oriented Programming,缩写为AOP)可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值