网站建设脑图,色系网站.,推广app拉人头赚钱,网站建设worldpressJava开发学习心得#xff08;一#xff09;#xff1a;SSM环境搭建有一点.NET的开发基础#xff0c;在学校学过基础语法#xff0c;对JAVA有点兴趣#xff0c;就简单学习了一下#xff0c;记录一下从哪些方面入手的#xff0c;暂时不打算深入到原理方面#xff0c;先简…Java开发学习心得一SSM环境搭建有一点.NET的开发基础在学校学过基础语法对JAVA有点兴趣就简单学习了一下记录一下从哪些方面入手的暂时不打算深入到原理方面先简单搭下环境看看所以有些地方可能讲得不慎准确。1 SSM框架从网上的讨论来看SSM框架似乎正在慢慢被Spring Cloud的取代。1.1 Spring FrameworkSpring是一个开源的JavaJava EE全功能栈full-stack的应用程序框架以Apache License 2.0开源许可协议的形式发布也有.NET平台上的移植版本。该框架基于 Expert One-on-One Java EE Design and DevelopmentISBN 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的设计理念。所谓依赖注入即组件之间的依赖关系由容器在应用系统运行期来决定也就是由容器动态地将某种依赖关系的目标对象实例注入到应用系统中的各个关联的组件之中。Spring核心思想IoC与DI详解面向切面编程 AOP(aspect-oriented programming)POP面向过程程序设计OOP面向对象的程序设计微服务关于 Spring AOP (AspectJ) 你该知晓的一切1.2 Spring MVCSpring MVC属于SpringFrameWork的后续产品已经融合在Spring Web Flow里面。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色这种分离让它们更容易进行定制。1.2.1 spring bootSpring 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通过Web构建 http://start.spring.io/ IDEA 目前IDEA只支持Java8的JDK2.Apache Maven是一个软件特别是Java软件项目管理及自动构建工具由Apache软件基金会所提供。基于项目对象模型Project Object ModelPOM概念Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤生命周期。选择需要的依赖pom.xmlprojectmodelVersion4.0.0/modelVersiongroupIdcom.example/groupIdartifactIddemo/artifactIdversion0.0.1-SNAPSHOT/versionpackagingjar/packagingnamedemo/namedescriptionDemo project for Spring Boot/descriptionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.1.0.RELEASE/versionrelativePath/ !-- lookup parent from repository --/parentpropertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncodingproject.reporting.outputEncodingUTF-8/project.reporting.outputEncodingjava.version1.8/java.version/properties!-- 添加classpath依赖 --dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!-- 开发者工具当classpath下有文件更新自动触发应用重启 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency/dependencies!-- maven编译插件用于创建可执行jar包 --buildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build
/project构建启动的三种方式在IDE或者命令行工具中的java启动main函数IDE中一般都自带Maven能够帮助我们下载安装Maven依赖。 2. 运行mvn spring-boot:run命令但是此种方法要求你在本地环境中必须安装Maven 使用命令行有两种方式一种是直接找到Maven项目视图中的spring boot启动命令直接运行 另一种是直接输入命令 3. 使用mvn package命令进行打包生成一个可以直接运行的 JAR 文件路径是项目文件中的target目录使用“java -jar”命令就可以直接运行。不管使用哪种方法都可以启动项目然后访问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。