Spring的简单实现实例(Spring的java配置方式)

来源:互联网 发布:人依赖网络例子 编辑:程序博客网 时间:2024/06/05 15:46

1. SpringJava配置方式

Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置。

1.1. @Configuration @Bean

SpringJava配置方式是通过@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配置文件,并且结构更加的清晰。

 

原创粉丝点击