美文网首页
Spring-003-bean管理(注解)

Spring-003-bean管理(注解)

作者: 井易安 | 来源:发表于2018-05-05 10:03 被阅读0次
  1. 代码里面的一些特殊的标记,使用注解可以完成特定的功能
  2. 注解写法 @注解名称(属性名称=属性值)
  3. 注解使用在类上面,方法上面和属性上面

能够替代配置文件 但是不能完全替代

  • 注解开发准备
  1. 导入jar包 spring最基本的jar包
  2. 导入aop的jar包
  3. 创建类,创建方法
  4. 创建spring配置文件,引入约束
    <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 http://www.springframework.org/schema/context/spring-context.xsd"> <!-- bean definitions here -->
    
    </beans>
    
  5. 开启注解扫描
<!-- 开启注解扫描  
            到包里面扫描 类 方法 属性 上面是否有注解
         -->
        <context:component-scan base-package="com.ljy"></context:component-scan>  
        <!-- 扫描属性上面的注解 -->
        <context:annotation-config></context:annotation-config>

-- 注解创建对象

在类上加注解  
@Component(value="user") //相当于<bean id="user" class="com.ljy.anno.User"/>
public void testUser(){
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        User user = (User)context.getBean("user");
        System.out.println(user);
        user.add();
    }

创建对象有四个注解

  1. @Component
  2. @Controller Web层
  3. @Service 业务层
  4. @Repository 持久层
    目前这四个注解功能都是一样的,都创建对象不过是为了后续版本做扩展

可以设置创建对象我单实例还是多实例

@Scope("value=prototype") //设置为多实例

--注解注入属性

  1. 创建一个Service类,创建dao类,在service里得到dao对象
@Service(value="userService")
public class UserService {  
@Component(value="userDao")
public class UserDao {

在Service类里面定义一个Dao类的属性
注入属性的第一个注解 @Autowired 自动注入

public class UserService {  
    //在dao属性上面使用注解 完成对象注入
    @Autowired
    private UserDao userDao;
    //使用注解方式不需要set方法
    public void add(){
        System.out.println("service...");
        userDao.add();
    }
} 

注入属性的第二个注解 @Resource(name="") 推荐用这个 因为指定好了

@Resource(name="userDao") //name里面写注解方式创建的dao对象的value
    private UserDao userDao;

-配置文件和注解混合使用

  1. 创建对象操作实用配置文件方式实现
  2. 注入属性的操作使用注解方式实现
//创建对象  
    <!-- 开启注解扫描  
            到包里面扫描 类 方法 属性 上面是否有注解
         -->
         <context:component-scan base-package="com.ljy"></context:component-scan>  
        <!-- 配置对象 -->
        
        <bean id="service" class="com.ljy.xmlanno.BookService"></bean>
        <bean id="bookDao" class="com.ljy.xmlanno.BookDao"></bean>
        <bean id="ordersDao" class="com.ljy.xmlanno.OrdersDao"></bean>

//注入属性
    @Resource(name="bookDao")
    private BookDao bookdao;
    @Resource(name="ordersDao")
    private OrdersDao ordersdao; 

相关文章

网友评论

      本文标题:Spring-003-bean管理(注解)

      本文链接:https://www.haomeiwen.com/subject/fnssrftx.html