idea创建包怎么让包分层_idea创建Spring项目的方法步骤(图文)
Spring介绍
Spring概述
Spring是一个开源框架,Spring是2003年兴起的轻量级java开发框架,由Rod Johnson 在其著作 Expert One-On-One J2EE Development and Design 中阐述的部分理念和原形衍生而来。它是为了解决企业级开发的复杂性而创建的。Spring使用基本的javaBaen来完成以前只可能由EJB完成的事情,然而Spring的用途不仅限于服务器端的开发,从简单性、可测试性、低耦合的角度而言任何java应用都可以在spring中受益。
简单的来说Spring就是轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。
Spring的好处
方便解耦,简化开发
Spring就是一个大工厂,专门负责生成Bean,可将所有对象,和依赖关系维护由Spring管理。
AOP编程的支持
Spring提供面向切面编程,可以方便的实现对程序进行拦截、运行监控等功能。
声明事务的支持
只需要通过配置就可以对事务进行管理,而无需手动编程。
方便程序的测试
Spring对junit支持,可以通过注解方便的测试Spring程序。
方便集成各种优秀框架
Spring不排斥各种优秀的框架,其内部提供了对各种优秀框架的支持,比如Struts2、Hibernate、MyBatis等。
降低javaEE API的使用难度
对java EE 开发中一些难用的API(JDBC、JavaMail)等都提供了封装 ,使这些API应用难度大大降低。
Spring体系结构
Spring框架是一个分层架构,它包含一系列的功能要素,并被分为大约20个模块,这些模块分为:
Core Container、Data Access/intergration、Web、AOP(Aspect Oriented Programming)、Instrumentation和测试部分,如下图所示:
在项目中的架构
Web层:Struts2、SpringMVC
dao层:Hibernate、Mybatis
Spring入门案例
编写流程
创建项目
导入jar
然后点击Next
然后点击Finish
下面是创建好的项目结构,我创建了bean包,测试类、和配置文件
idea可以自动生成是Spring的配置文件 步骤是在需要生成配置文件的目录上鼠标右键--》New--》XML Configuration File--》Spring Config--》然后起文件名点击Finish
下面是写好的测试 Person类
package com.spring.bean;
/**
* @Author: 007
* @Date: 2019/1/27/0027 10:20
* @Version 1.0
* @Description: 创建测试用的bean
*/
public class Person {
private String name; //姓名
private int age; //年龄
public Person() {
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
配置Spring的核心xml文件
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
在程序中读取Spring的配置文件来获取Bean(Bean其实就是一个new好的对象)
package com.spring.test;
import com.spring.bean.Person;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* @Author: 007
* @Date: 2019/1/27/0027 10:21
* @Version 1.0
* @Description:
*/
public class Test {
public static void main(String[] args) {
//查询类路径 加载配置文件
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml");
//根据id获取bean
//Spring就是一个大工厂(容器)专门生成bean bean就是对象
Person person = (Person) applicationContext.getBean("Person");
//输出获取到的对象
System.out.println("person = " + person);
}
}
下面是测试完成后的截图
至此入门案例编写完成
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
本文标题: idea创建Spring项目的方法步骤(图文)
本文地址: http://www.cppcns.com/ruanjian/java/251173.html
idea创建包怎么让包分层_idea创建Spring项目的方法步骤(图文)相关推荐
- scala java maven项目_IntelliJ IDEA下Maven创建Scala项目的方法步骤
环境:IntelliJ IDEA 版本:Spark-2.2.1 Scala-2.11.0 利用 Maven 第一次创建 Scala 项目也遇到了许多坑 创建一个 Scala 的 WordCount 程 ...
- R语言dplyr包和tidyr包创建交叉表(列联表、crosstab)实战
R语言dplyr包和tidyr包创建交叉表(列联表.crosstab)实战 目录 R语言dplyr包和tidyr包创建交叉表(列联表.crosstab)实战
- R语言使用forestplot包绘制森林图:编码创建森林图仿真数据、汇总线修改、元素位置调整、垂直线、字体、风格、置信区间、线型、图例、刻度、标签等
R语言使用forestplot包绘制森林图:编码创建森林图仿真数据.汇总线修改.元素位置调整.垂直线.字体.风格.置信区间.线型.图例.刻度.标签等 目录
- 创建和应用Java包文件的两种方式
<Java编程艺术>章节选登.作者:高永强 清华大学出版社 (即将出版) 12.1 包--package 包是Java提供的文件管理机制.包把功能相似的类,按照Java的名字 ...
- python中如何创建包_如何在Python中创建命名空间包?
TL:博士: 在Python3.3上,您不必做任何事情,只要不在名称空间包目录中放置任何__init__.py,它就可以工作了.在pre-3.3中,选择pkgutil.extend_path()解决方 ...
- ROS系统 创建工作空间与功能包
ROS 学习目标: 学习内容: 使用环境 操作步骤: 基本命令 二.使用步骤 创建工作空间 编译工作空间 创建功能包 使用C++执行程序 编写源文件 编辑功能包下的 Cmakelist.txt文件 修 ...
- ROS: catkin和rosmake创建和编译功能包、执行节点
ROS: catkin和rosmake创建和编译功能包 1.编译功能包 在工作空间的根目录下执行编译才行,比如我工作空间根目录是/home/kandi/catkin_ws 2.编译生成目标文件 这里以 ...
- linux添加以太网头部函数,linux – 在内核模块中创建一个以太网数据包并发送它...
我需要创建一个以太网数据包并在我的内核模块中发送它.有人可以帮我这样做吗? 我想我需要使用dev_alloc_skb创建一个skb,然后我需要编写mac_ethernet,插入数据并使用dev_que ...
- linux 下载rpm包到本地,createrepo:创建本地YUM源
如何下载rpm包到本地 设置yum安装时,保留rpm包. 1.编辑 /etc/yum.conf 将keepcache的值设置为1; 这样就可以将yum安装时的rpm包保存在 /var/cache/yu ...
最新文章
- 如何开启远程(win7win8)
- 为什么正则化可以起到对模型容量进行控制_正则化为什么能防止过拟合(重点地方标红了)...
- java wed登录面 代码_java web 登录界面
- Android NDK 编译选项设置[zhuan]
- Go 语言学习笔记(三):类型系统
- 在Linux系统下, 可以用一个命令很容易批量删除.svn的文件夹
- 单片机按键防抖程序_这些单片机按键设计方案,请拿好,不谢!
- 为什么说Java中只有值传递(另一种角度)
- PHP Cookie和Session
- 深度学习(三十九)LSTM、GRU网络入门学习-未完待续
- 嵌入式工程师开发工作主要做些什么,以后收入怎样
- Mysql日期差的函数
- 深入浅出linux驱动,Linux Kernel 字符驱动的深入浅出讲解
- ODBC连接oracle 10g 客户端
- protues打不开问题
- 应用案例 | 2018款奥迪 A4 Avant 车发动机无法起动故障诊断
- Win11设置人离开后电脑自动锁屏教程
- linux运行minecraft,如何在DeepinLinux下运行Minecraft光影整合包进行游戏
- 机器学习基础——损失函数与风险函数
- 8in1模拟器v2模拟飞行_重新想象飞行模拟器:过去和现在
热门文章
- SAP云平台上的502 Bad Gateway错误
- 打印某个user在指定时间段内做过的personalization detail
- 如何让某些用户对Marketing Cloud的contact数据只能实施只读操作
- use regular expression instead of ABAP function module to parse attachment
- SAP APF框架错误消息Filter is too complex的处理
- SAP WebIDE的本地安装方式
- SAP Spartacus organization unit里org list的focus实现问题
- SAP CRM Enterprise search后退按钮的实现
- 自己开发的在线视频下载工具,基于Java多线程
- php中orm模型,模型model