zoukankan      html  css  js  c++  java
  • Spring框架学习(一)

    (一)Spring 框架的依赖的注入的方式

        1通过set方法来完成注入

    <bean id="h" class="com.zhiyou100.***.bean.User">
        <property name="name" value="张三"/>  <property> 标签是通过set方法来注入
    <property name="age" value="18"/> </bean>

      2通过构造方法来完成依赖注入

    <bean id="h1" class="com.zhiyou100.xth.bean.User">
        <constructor-arg index="0" value="阿三"/>
        <constructor-arg index="1" value="28"/>
    </bean>
    

      (二)依赖注入的数据类型

      1基本数据类型和字符串使用value(如上面所示)

      2如果是指向另外一个对象的引用 使用ref

        

      3如果类对象注入的属性类型为list类型

        

    <bean id="h1" class="com.zhiyou100.xth.bean.User" scope="prototype">
                <property name="name" value="张三"/>
                <property name="age" value="28"/>
                <property name="list">
         
        <list>
             <bean class="com.zhiyou100.xth.bean.Student">
             <property name="address"   value="南京"/>
    </bean>
      <bean class="com.zhiyou100.xth.bean.Student">
          <property name="address"   value="北京"/>
         </bean>
          <bean class="com.zhiyou100.xth.bean.Student">
          <property name="address"   value="华东"/>
         </bean>
          <bean class="com.zhiyou100.xth.bean.Student">
          <property name="address"   value="华北"/>
         </bean>
        </list>
       </property>
     </bean>
    

     4如果类对象注入的属性类型为map类型

         

    <property name="map">
             <map>
             <entry key="jj"  value="积极"/>
             <entry key="hh"  value="哈哈"/>
             <entry key="uu"  value="哈哎s"/>
             <entry key="ii"  value="阿瑟东"/>
             
           </map>
    </property >
    

      (三) Bean的作用域

             

        (四)自动注入

             

           (五)在Spring配置文件中引入配置文件

           

           <context:property-placeholder location="classpath:my.properties"/>
      <bean class="com.zhiyou100.xth.bean.User" id="user">
        <property name="name" value="${user.name}"/> 其中不能使用user.name 那样默认的会是操作者的电脑账户的id 要避开这个关键字
        <property name="age" value="${user.age}"/>
      </bean>
    

      (六)使用注解的方式

           1 引入jar包   aop的jar包

           2 配置文件中使用包扫描 

          

       <context:component-scan base-package="com.zhiyou100.**"/>
    

      3 在相应的类加上注解

                 

               @Repository   持久化注解。

               @Service         业务层注解

               @Controller     控制层注解

               @Autowired    自动注入 按照类型帮你自动注入,如果由多个类型相同的那么就会在按照名称注入。(建议使用这个)

               @Resource     自动注入 按照名称注入,如果没有相同名称的bean那么会按照类型帮你注入。 它可以指定名称来注入。

        @component

        Controller的代码

    @Controller
    public class UserControllerimp {
    
    	
    	@Autowired
    	private UserService userService;
    	
    	public void findbyid(int id) {
    	  userService.queryid(id);
    	}
    
    }
    

      Serviced 代码

    @Service
    public class UserServiceimp implements UserService{
    	@Autowired
    	private UserDao userdao;
    	
    
    	@Override
    	public void queryid(int id) {
    	  userdao.selectid(id);
    		
    	}
    
    }
    

      dao的代码

       

    @Repository
    public class UserDaoimp implements UserDao{
    
    	@Override
    	public void selectid(int id) {
    		System.out.println("++++++++++++++");
    		
    	}
        
    }
    

      

  • 相关阅读:
    解决WordPress中无法将上传的文件移动至wp-content/uploads
    nginx解析php请求为404
    centos6.5搭建lnmp环境
    springMVC 实现ajax跨域请求
    最近的一些坑
    微信开发文档与工具整理
    thymeleaf 中文乱码问题
    Python获取网页指定内容(BeautifulSoup工具的使用方法)
    查找算法的实现与分析(数据结构实验)
    二叉树的先序,中序,后序,层次的递归及非递归遍历
  • 原文地址:https://www.cnblogs.com/meifanghua/p/11478612.html
Copyright © 2011-2022 走看看