code From Spring In Action

1.典型的Spring配置文件

<?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-2.5.xsd">
</beans>

2.Spring beans 配置

<bean id="user" class="com.zbwang.demo.User"/>

<bean id="user" class="com.zbwang.demo.User">
    <constructor-arg value="10"/>
</bean>

<bean id="user" class="com.zbwang.demo.User">
    <constructor-arg value="10"/>
    <constructor-arg ref="sonnet"/>
</bean>

<bean id="stage" class="com.zbwang.demo.Stage" factory-method="getInstance"/>

<bean id="user" class="com.zbwang.demo.User" scope="prototype"/>

<bean id="user" class="com.zbwang.demo.User" init-method="turnOn" destroy-method="turnOff"/>

InitializingBean声明了afterPropertiesSet方法作为初始化方法,而DisposableBean声明了destroy方法,使用这些接口的缺点是Bean和Spring的API产生了耦合,除非开发一个明显在Spring容器中使用的Bean. 可以为所有bean声明初始化以及销毁方法:

<?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-2.5.xsd"
    default-init-method="turnOn"
    default-destroy-method="turnOff">
</beans>

set注入

<bean id="user" class="com.zbwang.demo.User">
    <property name="username" value="focusahaha"/>
    <property name="age" value="20"/>  <property name="neigbor" ref="melon"/></bean>

内部Bean

<bean id="user" class="com.zbwang.demo.User">
    <property name="date">
        <bean class="com.zbwang.demo.Date"/>
    </property>
</bean>

P命名空间

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:p="http://www.springframework.org/schema/p"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

<bean id="user" class="com.zbwang.demo.User"
    p:username = "focusahaha"
    p:age = "20"
  p:neigbor-ref = "melon"/>

</beans>
时间: 2024-12-25 05:17:21

code From Spring In Action的相关文章

如何使用VS Code编写Spring Boot (第二弹)

本篇文章是续<如何使用VS Code编写Spring Boot> 之后,结合自己.net经验捣鼓的小demo,一个简单的CRUD,对于习惯了VS操作模式的.net人员非常方便,强大的智能提示,简单又干净,一起开启愉快的java编程之旅吧. 一.环境搭建 请移步<如何使用VS Code编写Spring Boot> ,当页面输出Hello World 就算成功啦 二.熟悉Spring注解,跟路由 Spring真的是将注解用到了极致,能一个注解搞定的东西,从来不罗嗦,熟练的使用这些注解不

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 第4版笔记-第九章Securing web applications-003-把用户数据存在数据库

一. 1.It’s quite common for user data to be stored in a relational database, accessed via JDBC . To configure Spring Security to authenticate against a JDBC -backed user store,you can use the jdbcAuthentication() method. The minimal configuration requ

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

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

SPRING IN ACTION 第4版笔记-第六章RENDERING WEB VIEWS-003- SPRING的GENERAL TAG LIBRARY简介及用&lt;s:message&gt;和ReloadableResourceBundleMessageSource实现国际化

一. SPRING支持的GENERAL TAG LIBRARY 1. 二.用<s:message>和ReloadableResourceBundleMessageSource实现国际化 1.配置ReloadableResourceBundleMessageSource,它能it has the ability to reload message properties without recompiling or restarting the application. 1 package spi