spring入门案例 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文件

<?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 http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--配置bean
id:给配置的类起个后续在容器中获取用的id
class:类所在的路径
--> <bean id="Person" class="com.spring.bean.Person"/>
</beans>

在程序中读取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);
}
}

下面是测试完成后的截图

至此入门案例编写完成

-------------------- end --------------------

Spring入门案例 idea创建Spring项目的更多相关文章

  1. Spring入门(一):创建Spring项目

    本篇博客作为Spring入门系列的第一篇博客,不会讲解什么是Spring以及Spring的发展史这些太理论的东西,主要讲解下如何使用IntelliJ IDEA创建第一个Spring项目以及通过一个示例 ...

  2. spring入门--spring入门案例

    spring是一个框架,这个框架可以干很多很多的事情.感觉特别吊.但是,对于初学者来说,很难理解spring到底是干什么的.我刚开始的时候也不懂,后来就跟着敲,在后来虽然懂了,但是依然说不明白它到底是 ...

  3. Spring(二)--Spring入门案例

    Spring入门案例 1.需要的实体类 2.需要的接口和实现类 3.需要的service和实现类 /** * service层的作用 * 在不改变dao层代码的前提下,增加业务逻辑操作 */ publ ...

  4. 使用Spring Boot和Gradle创建AngularJS项目

    Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的 ...

  5. Spring入门(10)-Spring JDBC

    Spring入门(10)-Spring JDBC 0. 目录 JdbcTemplate介绍 JdbcTemplate常见方法 代码示例 参考资料 1. JdbcTemplate介绍 JdbcTempl ...

  6. Spring入门(3)-Spring命名空间与Bean作用域

    Spring入门(3)-Spring命名空间与Bean作用域 这篇文章主要介绍Spring的命名空间和Bean作用域 0. 目录 Spring命名空间 Bean作用域 1. Spring命名空间 在前 ...

  7. Spring入门(十四):Spring MVC控制器的2种测试方法

    作为一名研发人员,不管你愿不愿意对自己的代码进行测试,都得承认测试对于研发质量保证的重要性,这也就是为什么每个公司的技术部都需要质量控制部的原因,因为越早的发现代码的bug,成本越低,比如说,Dev环 ...

  8. 【SSRS】入门篇(一) -- 创建SSRS项目

    原文:[SSRS]入门篇(一) -- 创建SSRS项目 在本篇中,您将学习如何在 SQL Server Data Tools (SSDT) 中创建报表服务器项目. 报表服务器项目用于创建在报表服务器中 ...

  9. spring-cloud-Zuul学习(一)【基础篇】--入门案例【重新定义spring cloud实践】

                                                                                                    -- 2 ...

随机推荐

  1. C语言实现数组及链表的快速排序

    1. 数组快排: 方法一: #include <stdio.h> #include <stdlib.h> //交换 void swap(int *pi, int *pj) { ...

  2. Leetcode 8. String to Integer (atoi) atoi函数实现 (字符串)

    Leetcode 8. String to Integer (atoi) atoi函数实现 (字符串) 题目描述 实现atoi函数,将一个字符串转化为数字 测试样例 Input: "42&q ...

  3. 启动Tomcat报错

    如果发现引入jar包有问题时,看jar包是否损坏,变成了0kb.如果是这样,在网上试尽解决办法也是有问题的. 一般Tomcat启动报错,要引入这两个jar包.

  4. shell-003:用for循环统计内存使用量

    shell-100主要是用于练习! #!/bin/bash # 统计内存的使用量(这里用ps统计) # 第一步:不打印第一行,这里的sed ‘1d’ 去掉 for n in `ps aux |sed ...

  5. Jquery 常用方法 及属性

    Jquery   常用方法 及属性 jQuery 事件 鼠标事件 键盘事件 表单事件 文档/窗口事件 click keypress submit load dblclick keydown chang ...

  6. REST模式中HTTP请求方法(GET,POST,PUT,DELETE)

    一直在测试REST模式的WEB SERVICE接口,客户端的HTTP的请求方式一般分为四种:GET.POST.PUT.DELETE,这四种请求方式有什么不同呢.简单的说,GET就是获取资源,POST就 ...

  7. [Microsoft] 微软技术平台的Cloud Building平台AppVeyor

    Link: http://www.tuicool.com/articles/uMBZba http://www.appveyor.com/ 随着云技术的不断完善,基于云的应用越发丰富起来.AppVey ...

  8. CentOS7下php安装mcrypt扩展

    https://blog.csdn.net/skykingf/article/details/40185405 以下步骤均为本人实际操作,可能与你的安装方法有所区别,但我会尽量排除疑惑) 大致步骤(1 ...

  9. phpcms V9 框架目录结构

    phpcms v9框架的目录结构分析:      了解v9框架的目录结构,有助于帮助我们快速建立起对v9框架的一个整体认识 打开"mycms"项目,有如下文件和目录      使用 ...

  10. Phyton自定义包导入。

    说明:同一个项目下的自定义包. 项目层次: 1:先建好项目Pybasestudty 2:建Python package,包名:pytestpk,__init__.py是建包时自动产生的文件. 3:在该 ...