源代码下载地址+jar包:https://git.oschina.net/zhuhongliang/spring4.0.2_Study
下面看下文档结构和数据库:
很棒,还是只有三个文件,实现数据注入和jdbc
App.java:
package com.zhl.annotation; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class app { public static void main(String[] args){ ApplicationContext context = new AnnotationConfigApplicationContext(SpringConfig.class); HelloWorld obj = (HelloWorld) context.getBean("a"); //obj.setMsg("天王盖地虎 \t "); obj.printHelloWorld(); obj.find(); } }
HelloWorld.java:
package com.zhl.annotation; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import javax.annotation.Resource; import javax.sql.DataSource; import org.springframework.beans.factory.annotation.Autowired; public class HelloWorld{ private String msg; private String msgg; HelloWorld(){ this.msgg = "宝塔镇河妖"; } @Resource(name="b") public void setMsg(String msg){ this.msg = msg; } @Resource(name="c") public void setMsgg(String msgg){ this.msgg = msgg; } public void printHelloWorld() { System.out.println(msg + "\t" +msgg ); } //下面是jdbc @Autowired private DataSource dataSource; public void setDataSource(DataSource dataSource){ this.dataSource = dataSource; } public void find() { Connection conn = null; try { conn = dataSource.getConnection(); String sql = "select * from `user` "; PreparedStatement ps = conn.prepareStatement(sql); ResultSet rs = ps.executeQuery(); while (rs.next()) { System.out.println("----------------------------------"); System.out.println("name\t"+rs.getString("name")); System.out.println("age\t"+rs.getInt("age")); System.out.println("sex\t"+rs.getString("sex")); } }catch(Exception e){ System.out.println(e); } } }
SpringConfig.java:
package com.zhl.annotation; import javax.sql.DataSource; import org.apache.commons.dbcp.BasicDataSource; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class SpringConfig { @Bean(name="dataSource") public DataSource dataSource() { BasicDataSource dataSource = new BasicDataSource(); dataSource.setDriverClassName("com.mysql.jdbc.Driver"); dataSource.setUrl("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8"); dataSource.setUsername("root"); dataSource.setPassword("root"); return dataSource; } @Bean(name="a") public HelloWorld helloWorld(){ HelloWorld a = new HelloWorld(); return a; } @Bean(name="b") public String msggg(){ String msggg = "小鸡炖蘑菇"; return msggg; } @Bean(name="c") public String msgggg(){ String msgggg = "一座玲珑塔,面向青寨背靠沙!"; return msgggg; } }
运行结果:(控制台输出结果最上面两行是log4j的提示信息,不要在意这个细节)
log4j:WARN No appenders could be found for logger (org.springframework.core.env.StandardEnvironment). log4j:WARN Please initialize the log4j system properly. 小鸡炖蘑菇 一座玲珑塔,面向青寨背靠沙! ---------------------------------- name tom age 88 sex man ---------------------------------- name 孙悟空 age 99999 sex 齐天大圣
源代码下载地址+jar包:https://git.oschina.net/zhuhongliang/spring4.0.2_Study