java开发环境心得_Java开发学习心得(一):SSM环境搭建

本文是作者学习Java开发的第一步,主要分享了SSM框架(Spring、Spring MVC、MyBatis)的环境搭建过程。作者介绍了Spring的基本概念,如控制反转IoC和面向切面编程AOP,以及Spring Boot的简化配置特性。同时,文章讲解了如何使用Apache Maven构建项目,配置pom.xml文件,并通过不同方式启动Spring Boot应用。最后,展示了简单的Spring MVC控制器的编写,用于响应HTTP请求。
摘要由CSDN通过智能技术生成

Java开发学习心得(一):SSM环境搭建

有一点.NET的开发基础,在学校学过基础语法,对JAVA有点兴趣,就简单学习了一下,记录一下从哪些方面入手的,暂时不打算深入到原理方面,先简单搭下环境看看,所以有些地方可能讲得不慎准确。

1 SSM框架

从网上的讨论来看,SSM框架似乎正在慢慢被Spring Cloud的取代。

1.1 Spring Framework

Spring是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架,以Apache License 2.0开源许可协议的形式发布,也有.NET平台上的移植版本。该框架基于 Expert One-on-One Java EE Design and Development(ISBN 0-7645-4385-7)一书中的代码,最初由Rod Johnson和Juergen Hoeller等开发。

Spring Framework提供了一个简易的开发方式,这种开发方式,将避免那些可能致使底层代码变得繁杂混乱的大量的属性文件和帮助类。 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

如果学习JAVA Spring,这两个东西应该是绕不开的,但是暂时理解不深刻,后面准备深入到代码实现层面,与.NET进行一些比较。

控制反转 IoC(Inversion of Control)

在IoC出现以前,组件之间的协调关系是由程序内部代码来控制的,或者说,以前我们使用New关键字来实现两组间之间的依赖关系的。

这种方式就造成了组件之间的互相耦合。IoC(控制反转)就是来解决这个问题的,它将实现组件间的关系从程序内部提到外部容器来管理。

也就是说,由容器在运行期将组件间的某种依赖关系动态的注入组件中。

依赖注入(Dependency Injection):这就是DI,字面上理解,依赖注入就是将服务注入到使用它的地方。对象只提供普通的方法让容器去决定依赖关系,容器全权负责组件的装配,它会把符合依赖关系的对象通过属性(JavaBean中的setter)或者是构造子传递给需要的对象。

相对于IoC而言,依赖注入(DI)更加准确地描述了IoC的设计理念。所谓依赖注入,即组件之间的依赖关系由容器在应用系统运行期来决定,也就是由容器动态地将某种依赖关系的目标对象实例注入到应用系统中的各个关联的组件之中。

面向切面编程 AOP(aspect-oriented programming)

POP面向过程程序设计

OOP面向对象的程序设计

微服务

1.2 Spring MVC

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

1.2.1 spring boot

Spring Boot就是Spring,它做了那些没有它你也会去做的Spring Bean配置。它使用“习惯优于配置”(项目中存在大量的配置,此外还内置了一个习惯性的配置,让你无需手动进行配置)的理念让你的项目快速运行起来。使用Spring Boot很容易创建一个独立运行(运行jar,内嵌Servlet容器)、准生产级别的基于Spring框架的项目,使用Spring Boot你可以不用或者只需要很少的Spring配置。

正常的Spring MVC构建需要

一个项目结构,其中有一个包含必要依赖的Maven或者Gradle构建文件,最起码要有Spring MVC和Servlet API这些依赖。

一个web.xml文件(或者一个WebApplicationInitializer实现),其中声明了Spring的DispatcherServlet。

一个启动了Spring MVC的Spring配置

一控制器类,以“hello World”相应HTTP请求。

一个用于部署应用程序的Web应用服务器,比如Tomcat。

spring boot 特点

自动配置:针对很多Spring应用程序常见的应用功能,Spring Boot能自动提供相关配置

起步依赖:告诉Spring Boot需要什么功能,它就能引入需要的库。

命令行界面:这是Spring Boot的可选特性,借此你只需写代码就能完成完整的应用程序,无需传统项目构建。

Actuator:让你能够深入运行中的Spring Boot应用程序,一套究竟。

使用Spring Boot的方法之一:Spring Initializr

3a079fe38021a432dd1591b371cc29cc.png

IDEA

目前IDEA只支持Java8的JDK

6c826cbca76290613b55829df3ca70f6.png

2.Apache Maven,是一个软件(特别是Java软件)项目管理及自动构建工具,由Apache软件基金会所提供。基于项目对象模型(Project Object Model,POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤(生命周期)。

ef4fe58af02a5d23801e181ea566ba50.png

选择需要的依赖

48cb958f63bd40aa54ad13dd902f2688.png

pom.xml

4.0.0

com.example

demo

0.0.1-SNAPSHOT

jar

demo

Demo project for Spring Boot

org.springframework.boot

spring-boot-starter-parent

2.1.0.RELEASE

UTF-8

UTF-8

1.8

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-test

test

org.springframework.boot

spring-boot-maven-plugin

构建启动的三种方式

在IDE(或者命令行工具中的java)启动main函数,IDE中一般都自带Maven,能够帮助我们下载安装Maven依赖。

21aeb66e159e623238c1d1eea968922c.png

2. 运行mvn spring-boot:run命令,但是此种方法要求你在本地环境中必须安装Maven

使用命令行有两种方式,一种是直接找到Maven项目视图中的spring boot启动命令直接运行

6d718e910fafc5500bc747bea0824ec0.png

e51b84e0a5a2841c024797e33040a058.png

另一种是直接输入命令

4060b3d898df293219f88dd3dd981dbd.png

3. 使用mvn package命令进行打包,生成一个可以直接运行的 JAR 文件,路径是项目文件中的target目录,使用“java -jar”命令就可以直接运行。

f9c9976bd06e14c26ed7b51823e659be.png

1147e810c5b4b4439fd87c9d5ece5e4a.png

不管使用哪种方法都可以启动项目,然后访问http://localhost:8080就可以打开网站看到控制器里面的内容了

应用入口

package com.example.demo;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

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

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

@RestController

@SpringBootApplication

public class DemoApplication {

@RequestMapping("/")

public String index(){

return "Hello Spring Boot";

}

public static void main(String[] args) {

SpringApplication.run(DemoApplication.class, args);

}

}

对main函数所在的类进行修改,时期能接收Http请求并返回内容。

main()方法启动了一个HTTP服务器程序,这个程序默认监听8080端口,并将HTTP请求转发给我们的应用来处理

@Controller标注表示Application类是一个处理HTTP请求的控制器,该类中所有被@RequestMapping标注的方法都会用来处理对应URL的请求,@ResponseBody标注告诉Spring MVC直接将字符串作为Web响应(Reponse Body)返回,如果@ResponseBody标注的方法返回一个对象,则会自动将该对象转换为JSON字符串返回

index()方法上包含@GetMapping("/")标注,意味着在浏览器中访问http://localhost:8080/(不考虑协议、host和port信息后的路径为"/")后浏览器发送的请求会交给该方法进行处理

index()方法直接返回一个字符串,那么相当于直接将字符串"Hello World"作为HTTP请求的响应返回给浏览器,于是我们在浏览器中可以看到相应的返回值

一个启动了Spring MVC的Spring配置

一控制器类,以“hello World”相应HTTP请求。

一个用于部署应用程序的Web应用服务器,比如Tomcat。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值