发表于: 2017-07-27 10:11:45

2 995


今天:

读取输入:

需要用到:标准输入流 System.in 要想通过控制台进行输入,首先要构造一个Scanner对象,并与"标准输入流”相关联

Scanner in = new Scanner(System.in);

String name = in.nextLine();  //输入行中可能有空格 nextLine方法读取输入的一行

String firstName = in.next(); //读取一个单词,以空白符作为分隔符

String age = in.nextInt();//读取整数

String salary = in.nextDouble();//读取浮点数

因为Scanner类定义在java.util包中,当使用的类不是定义在基本java.lang包中时,需要使用import指示字将相应的包加载如程序中

即在程序开始的部分添加:import java.util.*;


Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。

Spring框架是一个分层结构,由七个定义良好的模块组成。Spring模块构建在核心容器之上,核心容器定义了创建,配置和管理bean的方式。


Spring框架的7个模块

Spring core(核心容器):核心容器提供Spring框架的基本功能。核心容器的主要组件是BeanFactory,它是工厂模式的实现。BeanFactory使用控制反转(IOC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。

IOC

控制反转模式(也称作依赖性介入):不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器(在Spring框架中是IOC容器)负责将这些联系在一起。

在典型的IOC场景中,容器创建了所有对象,并设置必要的属性将他们连接在一起,决定什么时间调用方法。

Spring的IOC实现模式:

a,通过JavaBean的属性分配依赖性

b,依赖性以构造函数的形势提供,不以JavaBean属性的形式公开


依赖注入的demo

项目目录结构:


test.java代码



bean.xml

圈中代码顺序交换后会报错


明天:

继续学习Spring


关于mybatis连接数据库URL警告的问题

项目目录结构:


HelloWorld.java程序:


package com.jinhege.mybatis.models;

import java.io.Reader;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class HelloWord {
 private static SqlSessionFactory sqlSessionFactory;
 private static Reader reader;

 static {
  try {
   reader = Resources.getResourceAsReader("config/a.xml");
   sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
  } catch (Exception e) {
   e.printStackTrace();
  }
 }
 public static SqlSessionFactory getSession() {
  return sqlSessionFactory;
 }
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  SqlSession session = sqlSessionFactory.openSession();
  try {
   User user = (User) session.selectOne(
     "com.jinhege.mybatis.models.UserMapper.GetUserByID", 1);
   if(user!=null){
    String userInfo = "名字:"+user.getName()+", 长得怎么样:"+user.getDept()+", 主页:"+user.getWebsite();
    System.out.println(userInfo);
   }
  } finally {
   session.close();
  }
 }
}


User.java


package com.jinhege.mybatis.models;
public class User {
 private int id;
 private String name;
 private String dept;
 private String phone;
 private String website;
 public String getWebsite() {
  return website;
 }
 public void setWebsite(String website) {
  this.website = website;
 }
 public int getId() {
  return id;
 }
 public void setId(int id) {
  this.id = id;
 }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public String getDept() {
  return dept;
 }
 public void setDept(String dept) {
  this.dept = dept;
 }
 public String getPhone() {
  return phone;
 }

 public void setPhone(String phone) {
  this.phone = phone;
 }
}


User.xml


config文件夹

a.xml

Console:

Thu Jul 27 10:28:11 CST 2017 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
名字:jinhege, 长得怎么样:handsome, 主页:http://www.jinhege.com

警告里强调设置 useSSL=false/true;

看了网上关于这个警告的解释然后在

<property name="url" value="jabc:mysql://127.0.0.1:3306/test"后添加:“?useSSL=true”

(false也可)

?useSSL=false

127.0.0.1 == localhost


收获:

这个警告解决很简单,但是拖了两三天,原因在于自己没有耐心地理解警告内容。然后一通乱找资料乱试然后就浪费了很多时间。以后一定不能着急,耐心地关注细节,也感觉初学也有很多坑是要自己踩的,不然对于一些细节和知识理解就不到位。越往后学,就越感到JAVA后端的难度还是大,自己又不想放弃,只有花更多时间来学习,实践了。










返回列表 返回列表
评论

    分享到