Spring Framework
shangboerds
淡薄以明志,宁静而致远
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Spring 嵌套注入
– Startpackage shangbo.spring.example27;public class Address { private String city; public String getCity() { return city; } public void setCity(String city) { this.city =原创 2017-05-22 22:40:57 · 1541 阅读 · 0 评论 -
Spring 注入 List
– Startpackage shangbo.spring.example24;import java.util.List;public class Person { private List<String> hobbies; // // Setter // public void setHobbies(List<String> hobbies) {原创 2017-05-22 22:05:13 · 1384 阅读 · 0 评论 -
Spring 注入 Set
– Startpackage shangbo.spring.example25;import java.util.Set;public class Person { private Set<String> hobbies; // // Setter // public String toString() { return hobbies.toSt原创 2017-05-22 22:09:18 · 520 阅读 · 0 评论 -
Spring 注入 null
– Startpackage shangbo.spring.example26;public class Person { private String name = "Shangbo"; private int age = 30; // // Setter // public void setName(String name) { th原创 2017-05-22 22:15:11 · 1148 阅读 · 0 评论 -
Spring 自动依赖注入优化(autowire-candidate)
– Start 自动依赖注入大大简化了我们的工作量,但是也有缺陷,如果一个接口有多个实现类,我们该注入哪一个呢?一种方法是设置其中一个bean不参数自动注入。package shangbo.spring.example38;public interface MessageService { String getMessage();}package shangbo.spring.exam原创 2017-05-25 21:41:43 · 8985 阅读 · 0 评论 -
Spring 区分环境
– Start 我们开发软件时,通常有三个环境,开发环境(dev),测试环境(test)和生产环境(prod),不同的环境连接不同的数据库,我们该怎么配置呢? 首先我们可以定义三个 properties 文件,将不同环境的数据库的配置在里面。 system.dev.properties system.test.properties system.prod.propertiesjdbc.dr原创 2017-05-26 22:04:11 · 2796 阅读 · 1 评论 -
Spring JdbcTemplate
– Startpackage shangbo.spring.jdbc.example1;import org.springframework.context.ApplicationContext;import org.springframework.context.annotation.AnnotationConfigApplicationContext;public class App {原创 2017-06-17 14:53:22 · 597 阅读 · 0 评论 -
Spring NamedParameterJdbcTemplate
– Startpackage shangbo.spring.jdbc.example2;import org.springframework.context.ApplicationContext;import org.springframework.context.annotation.AnnotationConfigApplicationContext;public class App {原创 2017-06-17 14:56:18 · 794 阅读 · 0 评论 -
Spring Framework 精萃
– Start Spring 管理对象 Spring 多个配置文件 Spring 使用工厂方法实例化对象 Spring 对象作用域 Spring 自定义对象初始化及销毁 Spring 延迟初始化 Spring 依赖注入 Spring 注入 Properties Spring 注入 Map Spring 注入 List Spring 注入 Set Spring 注入 null原创 2017-05-20 22:55:11 · 2768 阅读 · 1 评论 -
Spring 申明式事务之注解
– Start一个简单的例子package shangbo.spring.transaction.jdbc.annotation;public class Job { private String jobId; private String jobTitle; private Integer minSalary; private Integer maxSalary;原创 2017-06-12 22:43:27 · 537 阅读 · 0 评论 -
Spring 申明式事务之XML模式
– Startpackage shangbo.spring.transaction.jdbc.schema;public class Job { private String jobId; private String jobTitle; private Integer minSalary; private Integer maxSalary; public S原创 2017-06-12 22:51:04 · 541 阅读 · 0 评论 -
Spring 程序式事务管理
– Startpackage shangbo.spring.transaction.jdbc.programmatic;public class Job { private String jobId; private String jobTitle; private Integer minSalary; private Integer maxSalary; pu原创 2017-06-13 22:28:56 · 454 阅读 · 0 评论 -
Spring 环境设置
– Start 在开始学习 Spring 之前,你需要先创建一个 Maven 项目,然后添加下面的依赖。 &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.springframework&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&am原创 2018-05-27 10:48:02 · 725 阅读 · 0 评论 -
Spring O/X 映射
– Start Spring 本身没有提供对象与xml互转的功能,但是它提供了通用的接口来封装各类提供对象与xml互转功能的框架,如:JAXB,Castor,JiBX,XStream。请参考《XStream 精萃》了解如何使用XStream以及如何与 Spring 整合。– 更多参见:Spring Framework 精萃 – 声 明:转载请注明出处 – Last Updated...原创 2018-05-29 07:07:02 · 273 阅读 · 0 评论 -
Spring 与 JMS 整合
– Start Spring 本身没有实现 JMS 规范,但是它提供了接口来整合 JMS。请参考《JMS + ActiveMQ 精萃》了解更多详情。– 更多参见:Spring Framework 精萃 – 声 明:转载请注明出处 – Last Updated on 2018-06-07 – Written by ShangBo on 2018-06-07 – End...原创 2018-06-07 21:02:28 · 269 阅读 · 0 评论 -
Spring 注入 Map
– Startpackage shangbo.spring.example23;import java.util.Map;public class DataService { private Map<String, String> dbconfig; public void setDbconfig(Map<String, String> dbconfig) { this原创 2017-05-22 21:33:55 · 3680 阅读 · 0 评论 -
Spring 注入 Properties
– Startpackage shangbo.spring.example21;import java.util.Properties;public class DataService { private Properties dbconfig; public void setDbconfig(Properties dbconfig) { this.dbconfig =原创 2017-05-22 21:19:46 · 598 阅读 · 0 评论 -
Spring 依赖注入
– Start 对象都不是孤立存在的,它们之间有依赖关系,以此来协同工作,Spring 支持基于构造方法和 setter 方法两种依赖注入方式。基于构造器的依赖注入基于构造器的依赖注入非常简单,下面是一个简单的例子。注意 Spring 通过类型匹配参数,如果构造器有多个类型相同的参数,我们可以通过 index 指定参数序号。package shangbo.spring.example19;publ原创 2017-05-22 21:05:15 · 473 阅读 · 0 评论 -
Spring 注入其他对象
– Startpackage shangbo.spring.example28;public interface MessageService { String getMessage();}package shangbo.spring.example28;public class MessageServiceImpl implements MessageService { publ原创 2017-05-22 22:49:09 · 481 阅读 · 0 评论 -
Spring 注入不同作用域对象
– Start 当你想把短生命周期的对象(如: prototype)注入到长生命周期的对象(如:singleton)时需要特别注意,Spring 提供了如下的解决办法。使用代理 package shangbo.spring.example29;public interface MessageService { String getMessage();}package shangbo.s原创 2017-05-23 22:46:19 · 707 阅读 · 0 评论 -
Spring 自动依赖注入
– Start 事实上,Spring 还支持自动依赖注入。基于 XML 的自动依赖注入package shangbo.spring.example31;public interface MessageService { String getMessage();}package shangbo.spring.example31;public class MessageServiceImp原创 2017-05-23 23:22:05 · 578 阅读 · 0 评论 -
Spring 自动依赖注入优化(primary)
– Start 自动依赖注入大大简化了我们的工作量,但是也有缺陷,如果一个接口有多个实现类,我们该注入哪一个呢?一种方法是设置其中的一个为 primarypackage shangbo.spring.example34;public interface MessageService { String getMessage();}package shangbo.spring.exampl原创 2017-05-25 20:41:42 · 1022 阅读 · 0 评论 -
Spring 自动依赖注入优化(qualifier)
– Start 自动依赖注入大大简化了我们的工作量,但是也有缺陷,如果一个接口有多个实现类,我们该注入哪一个呢?一种方法是给bean设置一个限定符(qualifier)package shangbo.spring.example36;public interface MessageService { String getMessage();}package shangbo.spring原创 2017-05-25 21:20:24 · 810 阅读 · 0 评论 -
Spring 继承 bean 声明
– Start 对于复杂对象,bean 声明是可以继承的,下面是一个简单的例子。package shangbo.spring.example42;public class Person { protected String name; protected int age; public String getName() { return name; }原创 2017-05-26 19:18:16 · 508 阅读 · 0 评论 -
Spring 配置数据库动态密码
– Start 以前我们把数据库密码配置在属性文件中,缺陷是密码是静态的,明文的。随着软件的发展,密码被统一管理,定期修改,我们需要动态获取密码,下面是一个简单的例子。jdbc.driverClassName=org.hsqldb.jdbcDriverjdbc.url=jdbc:hsqldb:hsql://dev:9002jdbc.username=sajdbc.driverClassNam原创 2017-05-30 17:05:14 · 4077 阅读 · 2 评论 -
Spring SpEL 表达式
– Start 在上节Spring 配置数据库动态密码中,我们使用 SpEL 表达式声明 bean,现在让我们来看看它的语法。实例化基本类型对象package shangbo.spring.spel.example1;import org.springframework.expression.ExpressionParser;import org.springframework.expressi原创 2017-05-30 16:35:11 · 1189 阅读 · 0 评论 -
Spring 管理对象
– Start 当我们需要某个对象时,通常的做法是 new 一个对象,然后使用它。使用 Spring 后,套路完全变了,Spring 帮我们创建对象,然后缓存到它的容器中,当我们需要一个对象时,问 Spring 要即可,怎么样?想法是不是非常妙,我们来看个例子吧。 首先,定义一个类。package shangbo.spring.example1;public class OutPutServic原创 2017-05-20 23:09:41 · 6590 阅读 · 0 评论 -
Spring 多个配置文件
– Start 如果你有多个配置文件该怎么办呢?很简单,初始化容器时允许我们传入多个文件,下面是一个简单的例子。package shangbo.spring.example15;public class InPutService { public String getMessage() { return "Hello World"; }}package shangb原创 2017-05-21 22:36:42 · 3002 阅读 · 1 评论 -
Spring 使用工厂方法实例化对象
– Start 如果某个对象需要通过静态工厂或实例化工厂来创建,spring 该如何配置呢?静态工厂首先定义一个类,需要通过静态工厂创建对象。package shangbo.spring.example5;public class OutPutService { private static OutPutService outPutService = new OutPutService()原创 2017-05-21 20:06:00 · 2694 阅读 · 0 评论 -
Spring 对象作用域
– Start 默认情况下, Spring 将创建的对象放在它的容器中缓存,当我们需要某个对象时,Spring 将缓存的对象返回给我们,并不会创建新对象,如果你想让 Spring 每次返回一个新对象该怎么办呢?看看下面的例子吧。package shangbo.spring.example7;public class OutPutService { public void outPut() {原创 2017-05-21 20:28:12 · 3090 阅读 · 1 评论 -
Spring 自定义对象初始化及销毁
– Start 有些对象实例化时,我们需要打开某些资源,而在销毁对象时将这些资源关闭,Spring 允许我们自定义初始化和销毁方法,下面是一个简单的例子。package shangbo.spring.example9;public class OutPutService { // 初始化方法 public void init() { System.out.printl原创 2017-05-21 21:06:17 · 3943 阅读 · 0 评论 -
Spring 延迟初始化
– Start 默认情况下,Spring 根据配置文件立即初始化所有对象,如果你想让 Spring 在第一次使用时初始化对象,你可以指定 lazy-init = true,下面是一个简单的例子。package shangbo.spring.example12;public class OutPutService { public void outPut() { System.原创 2017-05-21 21:55:10 · 1391 阅读 · 0 评论 -
Spring 与 Kafka 整合
– Start Spring 提供了接口来整合 Kafka。请参考《Kafka 精萃》了解更多详情。– 更多参见:Spring Framework 精萃 – 声 明:转载请注明出处 – Last Updated on 2018-06-14 – Written by ShangBo on 2018-06-14 – End...原创 2018-06-14 21:33:51 · 539 阅读 · 0 评论
分享