技术标签: spring java intellij-idea
如何用IntelliJ Idea创建一个简单的Spring项目呢,刚入门的人可能不太懂,那我就来简单分享一下吧。
点击新建一个maven项目,点击下一步(不用选择从原型创建),给项目取个名字,点击完成。
在建好的项目下找到pom.xml文件,在pom.xml文件中添加Spring所需要的依赖:
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.0.RELEASE</version>
</dependency>
</dependencies>
依赖代码来自Spring官网,大家可以去官网获取。第一次添加Spring依赖会报红,需要点击旁边的maven按钮刷新,等待IDEA自动导入Spring依赖文件。
配置好Spring依赖之后,在src-main-java目录下创建一个User类,里面给一个名字属性,get,set方法,再给一个show方法。
public class User {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void show() {
System.out.println("name:" + name);
}
}
在resources目录下创建一个xml文件,文件名可以任取,不过一般文件名都为applicationContext.xml,这里简单取为beans.xml,然后需要导入bean的配置文件,报红的话点击刷新就好了,导入之后会提示配置应用程序上下文,点击新建就好了。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd">
</beans>
在beans中配置User的信息,设定user的姓名,这里设置user的名字为“张三”。
<!--bean = 对象-->
<!--id = 变量名-->
<!--class = new的对象-->
<!--property 相当于给对象中的属性设值-->
<!--value: 具体的值,基本数据类型-->
<bean id="user" class="User">
<property name="name" value="张三"></property>
</bean>
在src-test-java目录下创建一个测试类Test进行测试。
public class Test {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
User user = (User) context.getBean("user");
user.show();
}
}
点击运行,查看运行结果,输出在bean中配置的名字:张三。
由此我们可以看出,在Spring中,对象的创建不再通过在程序中new一个对象实现,它将所有相关的对象都交给Spring容器负责创建和维护,在程序的实现中,我们可以直接从Spring中拿到所需要的对象。通过Spring提供的IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。有了Spring,用户不必再为单实例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。
文章浏览阅读1.1k次。转移发布平台通知:将不再在程序员宅基地发布新文章,敬请移步知识星球... ..._java代码审计
文章浏览阅读1.8k次。Modern Cross Platform DevelopmentWhy isn't there a modern technology available for using the same codebase to produce native apps on all of the currently popular platforms - I'm talking iOS_shim layers for gpl license
文章浏览阅读1.3k次。随着 JDK 1.8 Streams API 的发布,使得 HashMap 拥有了更多的遍历的方式,但应该选择那种遍历方式?反而成了一个问题。本文先从 HashMap 的遍历方法讲起,然后再从性能、原理以及安全性等方面,来分析 HashMap 各种遍历方式的优势与不足,本文主要内容如下图所示:HashMap 遍历HashMap遍历从大的方向来说,可分为以下 4 类:迭代器(Itera..._遍历hashmap使用迭代器的好处
文章浏览阅读3.1k次,点赞3次,收藏13次。本文鸿哥主要给大家介绍下,两个路由器无线桥接设置方法。无线桥接这个功能,是一个比较实用的功能,一般在以下场景下会使用到:已经有一个无线路由器了,但是该路由器的无线信号不能满足使用需求,家里部分区域没有wifi信号或者信号不好。这个时候可以再买一个无线路由器回来,把两个路由器之间设置无线桥接,桥接成功后第二个路由器也可以上网了,从而实现增强无线信号的目的。两个路由器无线桥接重要说明:(1)、不同的无..._无线桥接网桥是使用主路由的ip还是副路由的
文章浏览阅读5k次,点赞2次,收藏3次。系统环境:python环境:下面进行安装:(均以root用户安装)1.安装pipxcurl https://raw.githubusercontent.com/cs01/pipx/master/get-pipx.py | python3出问题了,提示安装方法失效了。打开链接:https://github.com/pipxproject/pipx找到以下部分:注意:这里有个坑,我们..._gdbgui 怎么安装运行
文章浏览阅读291次。二叉树的层序遍历算法是一种按照层级顺序访问节点的方法,它利用队列的先进先出特性来实现。通过遍历每一层的节点,并将其子节点入队,我们可以按照层级顺序获取二叉树中的节点值。在这篇文章中,我们将介绍如何实现二叉树的层序遍历算法,并给出相应的源代码。在每一次迭代中,我们首先取出队首节点,访问它,并将它的左右子节点(如果存在)依次入队。如果该节点存在右子节点,则将右子节点入队。变量记录当前层的节点数量,这是为了在内层循环中准确地遍历当前层的节点。以上示例中,我们创建了一个二叉树,并使用层序遍历算法对其进行遍历。_编写算法,实现二叉树的层序遍历
文章浏览阅读2.3k次。支付宝微信D0秒到,费率低稳定,接全行业,免开户免签约!联系企鹅1441010748_个人收款对接
文章浏览阅读392次。关于C++,算法,机器人学习的学习记录_寒假学习每日总结
文章浏览阅读5.2k次。本文概述AutoCAD许可版本的订阅包括AutoCAD, 专用工具集和应用程序。订阅AutoCAD软件可以访问AutoCAD for Windows和AutoCAD for Mac, Web应用程序, 移动应用程序, 电气工具集, 机械工具集, Map 3D工具集, 特定于行业的体系结构工具集, Plant 3D工具集, MEP工具集和栅格设计工具集。栅格设计工具集仅适用于Windows。不同国家..._cad指定许可服务器
文章浏览阅读4.2k次,点赞3次,收藏14次。字符串及其声明_c语言声明字符串
文章浏览阅读220次。【代码】python快速提取网页表格。_python 提取网页中的表格
文章浏览阅读457次。导读汽车工业正在走向车联网时代,迅速发展之际,安全形势也日益严峻。最近,美国科研人员开发了一个免费、通用、开源的软件框架,用于保护汽车中的软件更新。在开源框架投入汽车工业使用之前,研究团队呼吁世界各地的安全专家帮助他们寻找该框架的漏洞。简介这款开源安全软件框架名为“Uptane”,它在目前广泛使用的“TUF”(软件更新框架)基础上发展而来。Uptane 项目,由纽约大学坦登工程学院..._汽车开源软件安全