Spring的简单实现实例(Spring的java配置方式)
来源:互联网 发布:人依赖网络例子 编辑:程序博客网 时间:2024/06/05 15:46
1. Spring的Java配置方式
Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置。
1.1. @Configuration 和 @Bean
Spring的Java配置方式是通过@Configuration 和@Bean 这两个注解实现的:
1、@Configuration 作用于类上,相当于一个xml配置文件;
2、@Bean 作用于方法上,相当于xml配置中的<bean>;
1.2. 示例
该示例演示了通过Java配置的方式进行配置Spring,并且实现了Spring IOC功能。
1.2.1. 创建工程以及导入依赖
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>cn.wh.spring</groupId><artifactId>wh-spring</artifactId><version>1.0.0-SNAPSHOT</version><packaging>war</packaging><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>4.3.7.RELEASE</version></dependency><!-- 连接池 --><dependency><groupId>com.jolbox</groupId><artifactId>bonecp-spring</artifactId><version>0.8.0.RELEASE</version></dependency></dependencies><build><finalName>${project.artifactId}</finalName><plugins><!-- 资源文件拷贝插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><configuration><encoding>UTF-8</encoding></configuration></plugin><!-- java编译插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.7</source><target>1.7</target><encoding>UTF-8</encoding></configuration></plugin></plugins><pluginManagement><plugins><!-- 配置Tomcat插件 --><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version></plugin></plugins></pluginManagement></build></project>
1.2.2. 编写User对象
public class User { private String username; private String password; private Integer age; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } }
1.2.3. 编写UserDAO 用于模拟与数据库的交互
public class UserDAO { public List<User> queryUserList(){ List<User> result = new ArrayList<User>(); // 模拟数据库的查询 for (int i = 0; i < 10; i++) { User user = new User(); user.setUsername("username_" + i); user.setPassword("password_" + i); user.setAge(i + 1); result.add(user); } return result; } }
1.2.4. 编写UserService 用于实现User数据操作业务逻辑
@Servicepublic class UserService { @Autowired // 注入Spring容器中的bean对象 private UserDAO userDAO; public List<User> queryUserList() { // 调用userDAO中的方法进行查询 return this.userDAO.queryUserList(); } }
1.2.5. 编写SpringConfig 用于实例化Spring容器
@Configuration //通过该注解来表明该类是一个Spring的配置,相当于一个xml文件@ComponentScan(basePackages = "cn.itcast.springboot.javaconfig") //配置扫描包public class SpringConfig { @Bean // 通过该注解来表明是一个Bean对象,相当于xml中的<bean> public UserDAO getUserDAO(){ return new UserDAO(); // 直接new对象做演示 }}
1.2.6. 编写测试方法 用于启动Spring容器
public class Main { public static void main(String[] args) { // 通过Java配置来实例化Spring容器 AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(SpringConfig.class); // 在Spring容器中获取Bean对象 UserService userService = context.getBean(UserService.class); // 调用对象中的方法 List<User> list = userService.queryUserList(); for (User user : list) { System.out.println(user.getUsername() + ", " + user.getPassword() + ", " + user.getPassword()); } // 销毁该容器 context.destroy(); } }
1.2.7. 测试效果
1.2.8. 小结
从以上的示例中可以看出,使用Java代码就完美的替代xml配置文件,并且结构更加的清晰。
阅读全文
0 0
- Spring的简单实现实例(Spring的java配置方式)
- Spring的java配置方式
- 简单的struts+spring+hibernate配置实例
- 实例说明Spring实现AOP的2种方式(注解和XML配置)
- 简单的Spring实例
- 实现一个简单的Spring实例
- spring cloud之config的简单配置(shh方式)
- java Spring的简单应用实例
- spring--xml配置方式,bean实例化的方式
- 配置xml方式实现Spring的aop
- Spring事务 基于配置的实现方式
- spring 4.0 AOP (使用AspectJ的注解方式 的aop实现)简单实例
- java的方式配置spring security
- spring boot的Java配置方式
- Spring实现零配置的方式(二)
- Spring 简单的配置
- Spring 的简单配置
- Spring基于注解的方式配置bean的实例
- 观察者设计模式
- EasyDemo*五大布局体系结构图(on Github)
- 修改系统默认的TTL值-预防被探测操作系统
- USACO08MAR Land Acquisition
- 关于linux系统中无法识别某一命令问题的解决方案
- Spring的简单实现实例(Spring的java配置方式)
- EasyDemo* ImageView及其子类体系结构图(on Github)
- Guitar Pro 7 注册机-注册码地址汇总
- ZJOI2007仓库建设
- 关于FTP主动模式与被动模式的一点理解
- 省选专练SCOI2007修车
- 简易波形显示器——单片机实验结课成果
- html 提交表单,但不跳转页面处理返回值
- CTF练习平台sql注入测试writeup