Spring IOC容器注解配置

如果没用注解的话,在Spring IOC开发项目中,需要在xml编写<bean id=”user” class=”类名”/>,但是注解使用注解的话,可以帮开发者节省更多的时间。

@Component 创建对象加入容器。举例:工具类。 一般用于工具类的注解

@Controller: 创建对象加入容器。同@Component一样。一般用于表现层的注解。

@Service: 创建对象加入容器。同@Component一样。一般用于业务层的注解。

@Repository:创建对象加入容器。同@Component一样。 一般用于持久层的注解。

@Component 相当于<bean id=”user” class=”类名”/>

注意: @Component注解如果没有配置名字,那么就使用当前的类名,把类名首字母小写就是其id.@COmponent注解也是可以配置id名字

@Component、@Controller、 @Service 、 @Repository 这四个注解的作用都是一样的,只不过它们用于不同的层上。

@Component、 工具类
@Controller 表现层
@Service 业务逻辑层
@Repository 数据持久层

 

案例:

首先,先导入 junit(测试类), spring-context-5.1.8.RELEASE(spring核心包)

 

1.编写实体类

package dt2008.model;

import org.springframework.stereotype.Component;

//四种都可以
//@Component("user1")
//@Controller("user1")
//@Service("user1")
@Repository("user1")
public class User {

    public User() {
        System.out.println("User的构造方法被调用了");
    }
}

2.配置xml开启IOC注解扫描

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">


    <!--开启注解扫描
        注意:
            base-package="dt2008"  这时候是会扫描到子包中。
    -->
    <context:component-scan base-package="dt2008"/>

</beans>

3.测试

package dt2008.test;

import dt2008.model.User;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class AppTest {

    //测试注解方式创建对象实现ioc
    @Test
    public void test01(){
        //1. 得到容器对象
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("bean.xml");
        //2. 获取对象
        User user = (User) applicationContext.getBean("user1");

        //3. 输出对象的信息
        System.out.println("用户对象: "+user);
    }
}

 

运行结果

小编很少写java教程,希望可以帮助到您。

本站资源除特别声明外,转载文章请声明文章出处
东泰博客 » Spring IOC容器注解配置

发表评论

切图仔日常笔记博客