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. [转]An STL compliant sorted vector-源码示例

    原文地址:http://www.codeproject.com/Articles/3217/An-STL-compliant-sorted-vector 最近在看sorted vectored的一些东 ...

  2. ubtuntu 如何查看内存用量 mongostat详解

    free -h top free或者top或者cat /proc/meminfo mongostat是mongdb自带的状态检测工具,在命令行下使用.它会间隔固定时间获取mongodb的当前运行状态, ...

  3. CF138D World of Darkraft

    $ \color{#0066ff}{ 题目描述 }$ n*m的格子,每个格子有字符'L','R',X',初始可以选择所有格子. 当选了 'L'的格子时,当前格子左下右上这条线上所有点不能选; 当选了 ...

  4. 初用sqlite3.exe

    1.记得要先建立数据库文件 为了进行数据库的编写,我安装了sqlite3,由于刚接触数据库,我尝试着建立表,并插入元组,属性,用select from语句也可以调出写入的内容,但是不知道如何保存,直接 ...

  5. fiddler使用——配置抓取https,出现提示“禁用解密”“单击配置”

    自己在设置fiddler抓https的时候,浏览器总是提示:此证书不受信任:中午没午睡下午一直昏沉沉的,弄了好久,终于想起来是证书的问题:度娘有个不错的答案,这里分享一下!给以后有相同问题的朋友,也同 ...

  6. jenkins安装maven工具

    下载maven工具,然后解压到/usr/local下面 然后在jenkins上面添加maven工具.指定他的设置配置文件(全局) 指定maven的目录位置 应用保存即可 !!! 虽然maven安装简单 ...

  7. Hibernate学习笔记(二)—— 实体规则&对象的状态&一级缓存

    一.持久化类 1.1 什么是持久化类? Hibernate是持久层的ORM映射框架,专注于数据的持久化工作.所谓的持久化,就是将内存中的数据永久存储到关系型数据库中.那么知道了什么是持久化,什么又是持 ...

  8. python学习,day2:列表的使用,增删改合并等

    # coding=utf-8 # Author: RyAn Bi names = ['A','B','C','D'] print(names) print(names[0]) #从0开始记录 prin ...

  9. LeetCode268.缺失数字

    268.缺失数字 描述 给定一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 .. n 中没有出现在序列中的那个数. 示例 示例 1: 输入: [3,0,1] 输出: 2 示例 ...

  10. 链表 206 Reverse Linked List, 92,86, 328, 2, 445

    表不支持随机查找,通常是使用next指针进行操作. 206. 反转链表 /** * Definition for singly-linked list. * struct ListNode { * i ...