spring笔记二详解编程语言

DI—Dependency Injection,即依靠注入:组件之间依靠关系由容器在运行期决意,形象的说,即由容器动态的将某个依靠关系注入到组件之中。依靠注入的目标并非为软件系统带来更多功能,而是为了提拔组件重用的频率,并为系统搭建一个天真、可扩展的平台。

手动注入的setter注入

 

凭据属性的分歧类型,可以分为三种注入体式格局:

   1)根基类型注入 

   2Spring组件类型注入

   3)鸠合类型注入

代码演示:

 

<bean id="boy" class="model.Boy"> 
    <property name="age" value="18"></property>  <!-- spring根基数据类型的注入 --> 
    <property name="name" value="张三"></property> 
            
    <property name="dog" ref="dog"></property>  <!-- spring bean组件的注入 --> 
      
     <property name="likes" >   <!-- spring 鸠合类型List的注入 留意有先后递次 --> 
             <list> 
                    <value type="java.lang.String">打篮球 </value> 
                    <value type="java.lang.String">踢足球 </value> 
                    <!--ref bean="cat"/--> 
             </list> 
       </property> 
             
     <property name="likesset" >   <!-- spring 鸠合类型Set的注入 留意没有先后递次 --> 
            <set> 
                 <value type="java.lang.String">打游戏 </value> 
                 <value type="java.lang.String">聊天</value> 
                  <!--ref bean="cat"/--> 
            </set> 
     </property> 
             
    <property name="scoremap" >   <!-- spring 鸠合类型Map的注入 留意没有先后递次 --> 
          <map> 
               <entry key="语文" value="100"> </entry> 
               <entry key="数学" value="90"> </entry> 
               <!--entry key-ref="bean" value-ref=""></entry--> 
          </map> 
   </property>         
 </bean>

 

利用注解设置装备摆设文件

要把spring-aop-4.1.0.RELEASE包导入项目中,这个包供应对注解的支撑,假如不消注解,那就不消这个包。

xml:

<?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 
        http://www.springframework.org/schema/context/spring-context.xsd"> 
      
    <context:component-scan base-package="com.chinasofti"></context:component-scan>     
 
</beans>

@Service:用于标注营业层组件、

@Controller:用于标注节制层组件(如struts中的action)、

@Repository:用于标注数据接见组件,即DAO组件。

@Component:泛指组件,当组件欠好归类的时刻,我们可以利用这个注解进行标注。

 

@Component(value="boy") 
public class Boy { 
     
    @Value(value="张三") 
    private String name; 
    @Value(value="10") 
    private int age; 
    @Resource(name="dog") 
    private  Dog dog; 
    Set get 方式 
 
}

1)@Component(value=”boy”) 相当于把Boy到场Spring容器中,并起名叫boy

2)@Value(value=”张三) 相当于setter体式格局,给成员变量赋值为张三

3)@Resource(name=”dog”)相当于

  <bean id = “boy” class=”com.chinasofti.Boy”>

      <property name=”dog” ref=”dog”></property>

   </bean>

总结:注解利用可以取代设置装备摆设文件,不外,这种注解的体式格局不适合应用在年夜项目中,[email protected](value=”boy”)boy有可能会沟通。

Log4J用法:

1)导入log4j-1.2.8.jar
放在WebRoot->WEB-INF->lib中,切记,要把它加载到项目中(Build path)

2)在src目次下新建一个log4j.properties文件,此文件的功能是,设置失足信息录入体式格局

log4j.rootLogger=INFO,BB 
 
log4j.appender.BB=org.apache.log4j.FileAppender 
log4j.appender.BB.File=D://test.log 
log4j.appender.BB.layout=org.apache.log4j.PatternLayout 
log4j.appender.BB.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %l %F %p %m%n

3)建立一个类叫Log.java的类,写入public static Logger logger = Logger.getLogger(Log.class.getName()); 获得log4j的对象

import org.apache.log4j.Logger; 
 
public class Log {    
    public static Logger logger = Logger.getLogger(Log.class.getName());  
}

4)当法式出异常时,就可以在catch中利用

public class Login4jServlet extends HttpServlet { 
    
    public void doGet(HttpServletRequest request, HttpServletResponse response) 
            throws ServletException, IOException { 
        doPost(request,response); 
    } 
 
     
    public void doPost(HttpServletRequest request, HttpServletResponse response) 
            throws ServletException, IOException { 
        
        Log.logger.error("进入Login4jServlet模块"); 
        try{       
        String aa = request.getParameter("aa"); 
        int  count = 100/0; 
        int  intaa = Integer.parseInt(aa); 
        }catch(Exception e){    
            Log.logger.error(e.getMessage()); 
            request.setAttribute("errMsg","系统忙碌,请稍后毗邻"); 
            request.getRequestDispatcher("error.jsp").forward(request, response);       
        }       
    } 
}

运行后会在指定位置输出log文件,可以协助调试法式错误。

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/11699.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论