• Spring之Spring环境搭建


    Spring之Spring环境搭建

    一、什么是Spring?

      Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。
        ◆目的:解决企业应用开发的复杂性
        ◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能
        ◆范围:任何Java应用
      Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。

      1、Spring的核心是一个轻量级(Lightweight)的容器(Container)。
      2、Spring是实现IoC(Inversion of Control)容器和非入侵性(No intrusive)的框架。
      3、Spring提供AOP(Aspect-oriented programming)概念的实现方式。
      4、Spring提供对持久层(Persistence)、事物(Transcation)的支持。
      5、Spring供MVC Web框架的实现,并对一些常用的企业服务API(Application Interface)提供一致的模型封装。
      6、Spring提供了对现存的各种框架(Structs、JSF、Hibernate、Ibatis、Webwork等)相整合的方案。

    二、Spring之JavaSE环境搭建

     1、基本的Jar 包:

      commons-logging-1.2.jar
      spring-aop-4.3.0.RELEASE.jar
      spring-aspects-4.3.0.RELEASE.jar
      spring-beans-4.3.0.RELEASE.jar
      spring-context-4.3.0.RELEASE.jar
      spring-core-4.3.0.RELEASE.jar
      spring-expression-4.3.0.RELEASE.jar

     2、项目目录结构

    3、源代码

    ①、HelloWorld.java(POJO)

     1 package cn.com.zfc.helloworld;
     2 
     3 public class HelloWorld {
     4 
     5     // 私有属性
     6     private String name;
     7 
     8     public HelloWorld() {
     9         System.out.println("HelloWorld Constructor()...");
    10     }
    11 
    12     public void sayHello() {
    13         System.out.println("Hello " + this.name);
    14     }
    15 
    16     public String getName() {
    17         System.out.println("HelloWorld getName()...");
    18         return name;
    19     }
    20 
    21     public void setName(String name) {
    22         System.out.println("HelloWorld setName()...");
    23         this.name = name;
    24     }
    25 
    26 }

    ②、bean-helloworld.xml(Spring配置文件)

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"
     3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
     5 
     6     <!-- 配置bean:id,bean的唯一标识;class,bean实现的实现类 -->
     7     <bean id="helloWorld" class="cn.com.zfc.helloworld.HelloWorld">
     8         <!-- 使用属性注入 -->
     9         <property name="name" value="Spring"></property>
    10     </bean>
    11 </beans>

    ③、TestHelloWorld.java(测试类)

     1 package cn.com.zfc.test;
     2 
     3 import org.springframework.context.ApplicationContext;
     4 import org.springframework.context.support.ClassPathXmlApplicationContext;
     5 
     6 import cn.com.zfc.helloworld.HelloWorld;
     7 
     8 public class TestHelloWorld {
     9     public static void main(String[] args) {
    10         /* 1、获取Ioc容器 */
    11         ApplicationContext ctx = new ClassPathXmlApplicationContext("bean-helloworld.xml");
    12 
    13         /* 2、获取bean */
    14         
    15         //根据id获取bean
    16         HelloWorld helloWorld = (HelloWorld) ctx.getBean("helloWorld");
    17 
    18         /* 3、调用bean的方法 */
    19         helloWorld.sayHello();
    20     }
    21 }

    ④、运行效果

     二、Spring之JavaEE环境搭建

    1、基本Jar包

      commons-logging-1.2.jar
      spring-aop-4.3.0.RELEASE.jar
      spring-beans-4.3.0.RELEASE.jar
      spring-context-4.3.0.RELEASE.jar
      spring-core-4.3.0.RELEASE.jar
      spring-expression-4.3.0.RELEASE.jar
      spring-web-4.3.0.RELEASE.jar

    2、目录结构

    3、源代码

    ①HelloWorld.java(POJO)

     1 package cn.com.zfc.bean;
     2 
     3 public class HelloWord {
     4     private String name;
     5 
     6     public HelloWord() {
     7         super();
     8     }
     9 
    10     public String getName() {
    11         return name;
    12     }
    13 
    14     public void setName(String name) {
    15         this.name = name;
    16     }
    17 
    18     @Override
    19     public String toString() {
    20         return "HelloWord [name=" + name + "]";
    21     }
    22 
    23 }

    ②web.xml(注册Spring的配置文件)

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     3     xmlns="http://xmlns.jcp.org/xml/ns/javaee"
     4     xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
     5     id="WebApp_ID" version="3.1">
     6     <display-name>Spring_02</display-name>
     7     <welcome-file-list>
     8         <welcome-file>index.jsp</welcome-file>
     9     </welcome-file-list>
    10     <!-- 注册 Spring 配置文件 -->
    11     <!-- needed for ContextLoaderListener -->
    12     <context-param>
    13         <param-name>contextConfigLocation</param-name>
    14         <!-- Spring 配置文件的位置 -->
    15         <param-value>classpath:applicationContext.xml</param-value>
    16     </context-param>
    17     <!-- 配置监听器,加载 Spring 配置文件 -->
    18     <listener>
    19         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    20     </listener>
    21 </web-app>

    ③applicationContext.xml(Spring的配置文件)

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"
     3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
     4     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
     5         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">
     6     <!-- 配置 bean -->
     7     <bean id="" class="cn.com.zfc.bean.HelloWord">
     8         <!-- 使用属性注入为 HelloWorld 的属性赋值 -->
     9         <property name="name" value="zfc"></property>
    10     </bean>
    11 
    12 </beans>

    ④index.jsp(测试页面)

     1 <%@page import="cn.com.zfc.bean.HelloWord"%>
     2 <%@page import="org.springframework.context.ApplicationContext"%>
     3 <%@page
     4     import="org.springframework.web.context.support.WebApplicationContextUtils"%>
     5 <%@ page language="java" contentType="text/html; charset=UTF-8"
     6     pageEncoding="UTF-8"%>
     7 <!DOCTYPE html>
     8 <html>
     9 <head>
    10 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    11 <title>Spring</title>
    12 </head>
    13 <body>
    14     <h1>Spring 在 web 项目中的应用</h1>
    15     <%
    16         /* 在 jsp 页面中获取 Spring 的 Ioc 容器 */
    17         ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(application);
    18         /* 获取 bean,使用类型 */
    19         HelloWord helloWord = ctx.getBean(HelloWord.class);
    20     %>
    21     <h2>
    22         在 jsp 中获取 bean:<%=helloWord%></h2>
    23 </body>
    24 </html>

    4、运行效果

  • 相关阅读:
    4.2 省选模拟赛 流浪者 容斥dp
    4.2 省选模拟赛 旅行路线 广义SAM
    4.2 省选模拟赛 摆棋子 网络流 最大流/上下界最小流
    bzoj 4316 小C的独立集
    CF R630 div2 1332 E Height All the Same
    C++多线程の条件变量
    c++多线程のunique和lazy initation
    c++多线程の死锁与防止死锁
    c++多线程の数据竞争和互斥对象
    c++的多线程和多进程
  • 原文地址:https://www.cnblogs.com/zfc-java/p/7018296.html
Copyright © 2020-2023  润新知