首先说明,我是一名大二的软件学生,首次接触框架只学了三个周,发表发表自己的一些见解。。。
Spring是Java EE编程领域的一个轻量级开源框架.......(此处省略若干字)。这是我所在实习公司给我的大纲,给我的感觉就是一脸懵逼,用一堆我不认识的名词去解释一个我不认识的名词。第一个周的时间几乎都花在了理解,熟悉软件等跟编程关系不大的方面。。。
一、使用的软件
首先说的是软件,我所用的软件是idea,虽然一开始不习惯,但是用熟了确实好用,因为它真的方便,敲代码只敲一两个字母编译器就会自动给你生成。
下面给出idea设置中文的贴子。
(1条消息) Intellij IDEA如何设置为中文界面?_木槿的博客-CSDN博客_idea中文设置
二、环境的搭建
其次是环境的配置,当时公司大纲中并未提到环境的搭建,因为这个浪费了不少时间,了解到一个叫maven的工具。我的理解,它就是一个管理员,当你写代码的时候会用到各种各样的方法,maven就是用来专门管理方法的一个工具,当你需要啥方法就引入相应的依赖或者jar包。(依赖就是方法库)。
下面给出maven环境搭建的详细流程。(我也是看了一些视频才知道有maven这个东西,根据下面的贴子搭建的。)
(1条消息) Maven安装与配置_★★★★★-CSDN博客_maven
在这分享一个我自己的经验,也是查了很多博客,相当于其他博客主的一个综合吧。
找到你的maven安装路径
我安装在F盘下,你们自定义就好(最好要方便找,因为后面要用)。然后点击conf文件夹里面有一个settings.xml文件。
我使用的是EditPlus,将下面的代码复制到文件里,作用是如果你用编译器自带的下载途径,它好像需要去访问外网,然后就很慢,这样可以通过访问阿里云的库去下载,会快很多。
<mirror>
<id>maven-default-http-blocker</id>
<mirrorOf>external:http:*</mirrorOf>
<name>Pseudo repository to mirror external repositories initially using HTTP.</name>
<url>http://0.0.0.0/</url>
<blocked>true</blocked>
</mirror>
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
</mirrors>
三、新建项目
1.首先先新创建一个项目
2.然后选择maven,点击下一步
3.名称就是项目名称,然后位置就是项目路径
4.在本地建立一个本地仓库,用来存放你的工具库(在你方便找的文件或盘中建一个文件夹)
5.然后点击设置
6.点它
7.勾选中方框中选项
8.设置路径:
1.上面的的路径就是之前介绍的settings.xml文件路径:就是根据你的settings提供的路径去下载库
2.下面的路径就是刚刚新建立的本地仓库路径:用来存放你的工具方法
(之前提醒你们的放到自己方便找到目录下)
9.选中方框中的内容,他会自动去下载你需要的库
至此,一个项目的建立基本完成了。。
四、初识Spring
纵使代码虐我千百遍,我待代码如初恋。环境搭建好之后,第一件事就是了。解。概。念。这也是我当时最头痛的时候。。。
这是spring框架的体系结构,看不懂没关系,因为一开始我也看不懂。
学过系统分析与设计的童鞋都知道,在模块功能之间有一个叫耦合度的名称,我们在编程的时候也是秉持着高内聚,低耦合的原则来写代码。而spring最基本的一个功能就是降低耦合度。
例如:
有一个人的类还有一个手机类,你要是想玩手机,首先咱得有一个手机对吧,然后咱就得new一个对象。但是这好像叫内容耦合了吧,写代码是绝对不允许的。。
所以,我们需要吧这个new的过程交给Spring来处理。这也是Spring一个最基本的功能,叫IOC(控制反转,光看名这玩意谁能看懂是啥。)
点击pom.xml文件,将下面的依赖复制到文件中(先不用知道是啥意思)
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.5.3</version> <relativePath/> <!-- lookup parent from repository --> </parent> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <version>5.7.2</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
新建一个bean文件(内个警告是因为我用了中文名字,名字仅限于英文,数字,下换线,但是不影响运行,如果你觉得烦,可以改成英文名)
在bean文件中写如下代码
*id属性:唯一标识(不可加特殊符号)就是给这个对象起一个独一无二名,到时候你可以去调用
*class属性:类全路径(包路径)就是指明你需要封装的是哪一个类
建一个测试类,叫test(这个自定义)
@Test是注解,表明这是一个测试类,可以用来运行
ClassPathXmlApplicationContext("bean.xml"); 传的参数就是你创建内个xml文件名称
context.getBean("phone",Phone.class); getBean就是获取一个在xml文件中叫phone的对象,后面的参数就是指明这是哪个类,然后将该类型赋值给前面内个phone
这个过程相当于new了一个叫phone的对象,但你将这个过程交给了spring容器,由他来执行,以此来达到降低耦合度的作用。
这是原码
package com; import org.junit.jupiter.api.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class test { @Test public void P(){ ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml"); Phone phone = context.getBean("phone",Phone.class); phone.setName("华为666"); phone.Play(); } }
最后下面是运行结果
以上就是一个最基本的代码流程。