添加Spring-Web和Spring-Security依賴,使用Spring-Security是由於使用SpringBoot的Redis依賴時,必須添加Spring-Security。在新版本SpringBoot纔會這樣。java
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
複製代碼
8080端口指定一下,由於下面雙開服務器這個配置必須在這裏顯示加上。nginx
server.port=8080
複製代碼
@RestController
public class HelloController {
@Value("${server.port}")
Integer port;
@GetMapping("/set")
public String set(HttpSession session) {
session.setAttribute("name", "johnson");
return String.valueOf(port);
}
@GetMapping("/get")
public String get(HttpSession session) {
return (String)session.getAttribute("name") + port;
}
}
複製代碼
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
複製代碼
鏈接redis必需要密碼,不然鏈接不上,因此你的redis服務器必須設置密碼web
spring.redis.host=127.0.0.1
spring.redis.database=0
spring.redis.port=6379
spring.redis.password=123456
複製代碼
啓動後,瀏覽器打開localhost:8080
,帳號默認爲user,密碼在控制檯打印出來了,能夠去看看。頁面以下: redis
當咱們開啓兩個或多個Tomcat時,如何在這兩個Tomcat服務中共享Session呢,而Spring直接扔個依賴給你,安裝這個依賴就行了。 ???????????? execute me!? 就是這麼簡單,添加spring-session-data-redis
依賴就行了,以下:spring
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
複製代碼
使用maven使用package指令打包出來出來後(IDEA的Maven工具備package按鈕,點一下就好),在target目錄下能夠看到你打包好的jar包,就像這樣: mongodb
進入到tartget目錄後,打開兩個命令窗口, 分別輸入如下命令:瀏覽器
java -jar sessionhare-0.0.1-SNAPSHOT.jar --server.port=8080 //窗口1命令
java -jar sessionhare-0.0.1-SNAPSHOT.jar --server.port=8081 //窗口2命令
複製代碼
而後打開頁面localhost:8080
,帳號默認爲user,密碼能夠在8080的控制檯看到,登陸成功後, 再打開頁面localhost:8081
,你會發現不須要再次登陸啦,Session共享成功!服務器
安裝Nginx能夠參考我以前的文章 Centos安裝Nginx
若是是Ubuntu或者其餘類型的系統,就依賴項不一樣,安裝方式仍是同樣的。微信
nginx配置在路徑在/usr/local/nginx/conf/nginx.conf
, 修改配置以下: 在http
模塊下修改。session
upstream colablog.cn {
server 127.0.0.1:8080 weight=1;
server 127.0.0.1:8081 weight=1;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://colablog.cn;
proxy_redirect default;
}
}
複製代碼
修改完nginx配置後記得要從新加載一下配置文件,修改配置文件後必須從新指定配置文件,不然啓動會報錯。
sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf //從新指定配置文件
sudo /usr/local/nginx/sbin/nginx -s reload //從新啓動nginx
複製代碼
把剛纔項目打包出來的jar包扔到Linux服務器上,讓程序在服務器後臺運行,使用以下命令:
$ nohup java -jar sessionhare-0.0.1-SNAPSHOT.jar --server.port=8080 > 8080.log &
$ nohup java -jar sessionhare-0.0.1-SNAPSHOT.jar --server.port=8081 > 8081.log &
複製代碼
打開你Linux服務器的ip地址就能夠看到了。在瀏覽器打開你的虛擬機ip/set
,你的虛擬機ip/get
,重複打開幾回就會發現訪問不一樣的端口。
整合MongoDb就像整合Redis那麼簡單,依賴和配置文件搞一下就好了
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
複製代碼
spring.data.mongodb.host=127.0.0.1
spring.data.mongodb.authentication-database=admin
spring.data.mongodb.username=johnson
spring.data.mongodb.password=123456
spring.data.mongodb.port=27017
spring.data.mongodb.database=johnson
複製代碼
這樣就已經配置好了,不過咱們仍是測試一下吧。
Book
實體類
public class Book {
private Integer id;
private String name;
private String author;
@Override
public String toString() {
return "Book{" +
"id=" + id +
", name='" + name + '\'' +
", author='" + author + '\'' +
'}';
}
public Integer getId() { return id; }
public void setId(Integer id) { this.id = id; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public String getAuthor() { return author; }
public void setAuthor(String author) { this.author = author; }
}
複製代碼
dao
接口
public interface BookDao extends MongoRepository<Book, Integer> {
List<Book> findBookByNameContaining(String name);
}
複製代碼
測試類
@SpringBootTest
class MongoApplicationTests {
@Autowired
BookDao dao;
@Test
void contextLoads() {
Book book = new Book();
book.setName("colablog");
book.setId(1);
book.setAuthor("johnson");
dao.insert(book);
}
@Test
public void getList() {
List<Book> all = dao.findAll();
System.out.println(all);
List<Book> cola = dao.findBookByNameContaining("cola");
System.out.println(cola);
}
@Autowired
MongoTemplate template;
@Test
public void test1() {
Book book = new Book();
book.setName("colablog2");
book.setId(2);
book.setAuthor("johnson2");
template.insert(book);
List<Book> all = template.findAll(Book.class);
System.out.println(all);
}
}
複製代碼
文章主要是根據江南一點雨(鬆哥)總結了視頻第六章內容, 代碼貼的有點多,由於測試用例的關係,真是抱歉,由於有測試用例才能證實程序能走通。 好了,感謝各位的閱讀,文章如有不足之處或更好的建議,請在下方留言,Thanks♪(・ω・)ノ。
我的博客網址: colablog.cn/
若是個人文章幫助到您,能夠關注個人微信公衆號,第一時間分享文章給您