Blog

ColdBox 4.0 Dealing With Datasources

Brad Wood February 19, 2015

Spread the word

Brad Wood

February 19, 2015

Spread the word


Share your thoughts

ColdBox allows you to store the details of your CF datasources in your configuration file.  This prevents you from needing to store usernames and passwords in  your actual code, and allows you  to easily switch an application to another database, even with the environment control.  In  the past this datasource information was presented to you as a CFC object with getter methods.  

In ColdBox 4.0 we recognized that the datasource bean was really just a value object with no behaviors-- only data.  In the spirit of simplification,  we've replaced the datasource bean with a standard struct of data.  It contains the same information, but instead of calling a getter, just reference the keys in the struct.  An extended find and replace on your app's code base should made quick work of this.

Here's an example of what your code might have looked like on ColdBox 3.x


<---  Dependencies --->
<cfproperty name="dsn" inject="coldbox:datasource:mydsn">

<---  list --->
<cffunction name="list" output="false" access="public" returntype="query" hint="Return the contacts">
	<cfset var q = "">
	
	<cfquery name="q" datasource="#dsn.getName()#">
	SELECT * 
	    FROM contacts
	ORDER BY name asc
	</cfquery>
	
	<cfreturn q>
	
</cffunction>

And here's that same code ready for ColdBox 4:


<---  Dependencies --->
<cfproperty name="dsn" inject="coldbox:datasource:mydsn">

<---  list --->
<cffunction name="list" output="false" access="public" returntype="query" hint="Return the contacts">
	<cfset var q = "">
	
	<cfquery name="q" datasource="#dsn.name#">
	SELECT * 
	    FROM contacts
	ORDER BY name asc
	</cfquery>
	
	<cfreturn q>
	
</cffunction>

You'll note the only difference is dsn.getName() turned into dsn.name.  Your /config/ColdBox.cfc file will look the same as always.  No changes there!

Add Your Comment

Recent Entries

ColdBox 8.1.0 Released β€” AI Routing, MCP, and BoxLang-First Power! πŸš€

ColdBox 8.1.0 Released β€” AI Routing, MCP, and BoxLang-First Power! πŸš€

We are thrilled to announce ColdBox 8.1.0, a targeted minor release packed with powerful new features, important improvements, and critical bug fixes across ColdBox, WireBox, and CacheBox. While minor in version number, this release delivers some truly exciting capabilities β€” especially for BoxLang developers building AI-powered applications.

Luis Majano
Luis Majano
April 14, 2026
ColdFusion Modernization for UK Universities Without Downtime

ColdFusion Modernization for UK Universities Without Downtime

Across the United Kingdom, many universities still rely on legacy ColdFusion and CFML systems to power student portals, enrollment platforms, research databases, payment gateways, and internal academic workflows.

These systems are often:

  • 15 to 25 years old
  • Mission-critical
  • Deeply integrated with student information systems
  • Running on older Adobe ColdFusion or Lucee versions
  • Tightly coupled monolithi...

Cristobal Escobar
Cristobal Escobar
April 13, 2026