spring in action (3)

  首先弄明白几个概念:

  1、什么是POJO

  2、JavaBean规范

  3、EJB(Enterprise JavaBean)

  体会Spring如何简化Java开发。

  创建应用对象(组件)之间协作关系的行为通常称为装配,这也是依赖注入的本质。

  依赖注入让相互协作的软件组件保持松散耦合,而AOP编程允许你把遍布应用各处的功能分离出来形成可重用的组件。

面向切面编程往往被定义为促使应用程序分离关注点的一项技术。

  依赖注入的真正价值在于把相互协作的对象装配在一起,而不需要这些对象自己负责装配。

  1、依赖注入的方式之一是构造器注入。(所谓的依赖注入就是以参数的形式把一个类传递到另一个类中)

// 通过构造器注入对象引用public class A
{
  private B b;
  public A(B b)
  {
     this.b=b;       //B被注入进来  如果B是一个接口,将更具有灵活性
   }
}

2、属性注入(POJO类)

public class A
{
   private int No;
   private B b;
   public int getNo() {
        return No;
    }

    public void setNo(int no) {
        No = no;  // 注入简单值 No
    }

    public B getB() {
        return b;
    }

    public void setB(B b) {
        this.b = b;    // 注入B
    }

}

Spring提倡面向接口编程,面向接口编程与依赖注入协作实现了松散耦合。

  在软件开发中,分布于应用中多处的功能被称为横切关注点。通常,这些横切关注点从概念上是与应用的

业务逻辑相分离的(但是往往直接嵌入到应用的业务逻辑之中)。将这些横切关注点与业务逻辑相分离正是

面向切面编程(AOP)所要解决的。横切关注点可以被模块化为特殊的类,这些类被称为切面。

  继承与委托是最常见的实现重用通用功能的面向对象技术。切面提供了取代继承和委托的另一种选择。

  创建切点来定义切面织入的连接点是AOP框架的基本功能。因为Spring基于动态代理,所以Spring只支持方法连接点。

  Spring的目标之一就是允许开发人员在开发应用程序时,能够遵循面向对象(OO)原则中的“针对接口编程”。

  Spring Security从两个角度来解决安全性问题。它使用Servlet过滤器保护Web请求并限制URL级别的访问,

也可以使用Spring AOP保护方法调用——借助于对象代理和使用通知,能够确保只有具备适当权限的用户才能

访问安全保护的方法。

时间: 2024-11-08 19:00:19

spring in action (3)的相关文章

Spring实战-Spring in Action, 4th Edition-2015年第4版本

In Action系列中最畅销的Spring图书,近十万读者学习Spring的共同选择!In Action系列中最畅销的Spring图书,有近10万读者选择本书来学习Spring! Spring框架已经成为Java开发人员的必备知识,而且Spring 3引入了强大的新特性,例如SpEL.Spring表达式语言.IoC容器的新注解以及用户急需的对REST的支持.无论你是刚刚接触Spring还是被Spring 3.0的新特性所吸引,本书都是掌握Spring的最佳选择. 下载地址: Spring in

spring in action 4 6.3使用Apache Tiles

配置Tiles视图解析器 需要一个TilesConfigurer bean,该bean用于定位和加载tile定义,还需要一个TilesViewResolver用于将逻辑视图名与tile定义映射起来.在WebConfig.java中 @Configuration @EnableWebMvc @ComponentScan(basePackageClasses={AutoScan.class}) public class WebConfig extends WebMvcConfigurerAdapte

spring in action 学习十一:property placeholder Xml方式实现避免注入外部属性硬代码化

这里用到了placeholder特有的一个语言或者将表达形式:${},spring in action 描述如下: In spring wiring ,placeholder values are property names wrapped with ${...},as an exampl,you can resolve the constructor arguments for a BlankDisc in xml like this : <bean id="sgtPeppers&qu

spring in action学习笔记一:DI(Dependency Injection)依赖注入之CI(Constructor Injection)构造器注入

一:这里先说一下DI(Dependency Injection)依赖注入有种表现形式:一种是CI(Constructor Injection)构造方法注入,另一种是SI(Set Injection) set 注入.这篇随笔讲的是第一种构造方法注入(Constructor Injection). 其实DI(Dependency Injection)依赖注入你不妨反过来读:注入依赖也就是把"依赖"注入到一个对象中去.那么何为"依赖"呢?依赖就是讲一个对象初始化或者将实例

spring in action 4th --- quick start

读spring in action. 不是特别聪明的人,只好多练习,多实践.读书和思考很容易变得混乱,因为没有实践.因此,虽然花了很多时间,还是要动手记录下来. 环境搭建 quick-start 1.环境搭建 jdk1.8 gradle 2.12 Intelij idea 2016.2.1 1.1创建一个gradle项目 在idea中,new -> project -> gradle 创建一个空项目.创建成功后修改build.gradle : group 'com.test' version

spring in action学习笔记十五:配置DispatcherServlet和ContextLoaderListener的几种方式。

在spring in action中论述了:DispatcherServlet和ContextLoaderListener的关系,简言之就是DispatcherServlet是用于加载web层的组件的上下文.ContextLoadListener是加载 其他组件的上下文. 第一种方式:纯注解的方式: 在spring4.0版本以上,倾向用注解的方式配置DispatcherServlet和ContextLoaderListener.配置方式如下: 思路:一个类只要继承AbstractAnnotati

spring中action和url的对应关系

spring 中, action和url的对应关系 在web.xml中,这样配置: <servlet-mapping > <servlet-name> spring</ servlet-name> <url-pattern> *.html</url-pattern > </servlet-mapping > 由此,我们可以看到,要进入到LoginController,我们需要在浏览器中输入:localhost:8080/springM

SPRING IN ACTION 第4版笔记-第八章Advanced Spring MVC-003-Pizza例子的基本流程

一. 1. 2.pizza-flow.xml 1 <?xml version="1.0" encoding="UTF-8"?> 2 <flow xmlns="http://www.springframework.org/schema/webflow" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="h

spring in action 4 第6章 视图分发

spring 4.0 原生支持13种视图解析器 从spring3.2版本开始,spring支持上述13种解析器,但是spring 3.1不支持Tiles 3 TilesViewResolver,其它的12种都支持. 视图解析器所在的配置文件 @Configuration @EnableWebMvc @ComponentScan("_5BuildingSpringwebapplications") public class WebConfig extends WebMvcConfigur

Spring in action(Spring实战) 第四版翻译

第一部分 Spring核心 Spring提供了很多功能,但是所有这些功能的基础是是依赖注入(DI)和面向方面编程(AOP). 第一章 Springing into action 本章包括: Spring的bean容器 探索Spring的核心模块 强大的Spring生态系统 Spring的新特性 现在是java程序员的好时代.在长达20年的发展过程中,java经历了一些好时光,也经历了一些坏时光.尽管有一些粗糙的地方,例如applet,Enterprise javabean(EJB),Java数据